Merge branch 'master' of https://github.com/TheThing/service-core
This commit is contained in:
commit
d6c150e613
1 changed files with 26 additions and 1 deletions
27
README.md
27
README.md
|
@ -1,2 +1,27 @@
|
|||
# service-core
|
||||
Core boiler plate code to install node server as windows service
|
||||
Service-Core is a project to faciliate running a node application in (semi-)production environment on a windows machine. Using Windows Services, Service-Core will register itself and autostart on startup and make sure the application is running. In addition it will take care of maintaining the application including auto updating it seamlessly.
|
||||
|
||||
# The Core
|
||||
The core provides methods for updating applications as well as taking care of restarting and installing and everything needed to have a pleasent experience running a node application in Windows. It auto checks github for new releases based on the repository specified in `config.json`.
|
||||
|
||||
The core supports running two applications by default (specified in `config.json` file):
|
||||
* The manage app: Designated UI node app to provide UI interface on top of service-core. Not needed as service-core already does everything by itself but nice to have to remotely read logs and manually trigger updates among other things
|
||||
* The main app: The main application service-core is designated to run.
|
||||
|
||||
Both the main app and manage app get regular update checks and will automatically be installed if a new version is detected.
|
||||
|
||||
# API
|
||||
|
||||
To build a service-core application I recomennd checking out [hello world](https://github.com/thething/sc-helloworld) app but in short, all service core applications require the following things:
|
||||
|
||||
* `index.mjs` that exposes a function called `start(config, db, log, core, http, port)`
|
||||
* The application in question must use the passed on `http` parameter to call `.createServer()`. Otherwise service-core has no way of shutting it down to provide seamless updates among other things.
|
||||
|
||||
The `start()` function gets called with following parameters:
|
||||
* config: JSON object containing the entirety of `config.json`
|
||||
* db: A [lowdb](https://github.com/typicode/lowdb) database available for the application to use. Also used internally in service-core to manage versions.
|
||||
* log: A bunyan logger for logging.
|
||||
* log.event.info,warn,error(message): Write a log message to the windows event viewer.
|
||||
* core: The internal core. Exposes multiple methods for managing service-core
|
||||
* http: A wrapped internal node http to call `.createServer()`. Allows service-core to monitor the server in question.
|
||||
* port: The port the application should be listening to.
|
||||
|
|
Loading…
Reference in a new issue