Skip to content

A new service control engine, built on docker. Just NSM.

Notifications You must be signed in to change notification settings

ZorTik/node-server-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node Server Manager (NSM)

NSM is a robust service manager built on Docker Engine. Its primary purpose is to facilitate dynamic service generation using REST protocol from predefined templates, making it an essential tool for large game networks, service hosting providers and basically everyone whose goal is to scale on the run.

Features

  • Dynamic Service Generation: Create and manage services on-the-fly using RESTful APIs.
  • Template-Based Configuration: Use customizable templates to define service configurations.
  • No-template mode: NSM supports integrating custom engine with no template mode to disable templates completely.
  • Docker Integration: Leverage Docker Engine for reliable and scalable service management.
  • Resources usage management: NSM provides ability to limit or extend resources limits and view current usage.
  • Cluster-ready: NSM is built to be used in a cluster. For more reference, head up to the wiki (soon).

Prerequisites

Ensure you have the following installed before proceeding with the installation:

  • Node.js (v14 or higher)
  • Docker
  • npm (Node Package Manager)

Installation

Follow these steps to install and set up NSM:

  1. Clone the Repository

    git clone https://github.com/ZorTik/node-server-manager

    Alternatively, download the latest release from the NSM repository and extract it.

  2. Configure Environment Variables Copy the example environment file and fill in the required values:

    cp .env.example .env

    Open the .env file and provide the necessary configuration values.

  3. Edit Configuration Adjust the default configuration settings in resources/config.yml according to your requirements. You can also override these settings using environment variables. Detailed information about each configuration option is available within the file.

  4. Install Dependencies Install the required Node.js packages:

    npm install
  5. Generate Prisma Client Generate the Prisma client for database interaction:

    npx prisma generate
  6. Sync Database Schema Apply the database schema migrations:

    npx prisma migrate deploy
  7. Build the Project Compile the project for production:

    npm run build

Running NSM

To start the NSM service, use the following command:

npm start

This will launch the NSM server, making it ready to handle requests and manage services dynamically.

Contributing

Contributions to NSM are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any questions or support, please contact me (maintainer) via GitHub Issues or my website.


For documentation, refer to the project repository. Detailed wiki is planned soon.

About

A new service control engine, built on docker. Just NSM.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages