Deploy KMS Tools
Manages, monitors, and generates activation scripts for Windows & Office.
kms-tools
Just deployed
/app/.data
Deploy and Host KMS Tools on Railway
KMS Tools is an all-in-one KMS toolbox that provides KMS server detection and status monitoring, along with activation script generation for Windows, Windows Server, and Office. It includes regular server monitoring and supports English, Simplified Chinese, and Traditional Chinese interfaces.
About Hosting KMS Tools
Hosting KMS Tools on Railway involves deploying the application from its Dockerfile or the ikxin/kms-tools:latest Docker image. The application listens on port 3000 and binds to 0.0.0.0 so it can receive Railway traffic. A persistent Railway Volume is required at /app/.data to preserve application data across deployments and restarts. The application also uses configurable monitoring variables to define KMS servers and the monitoring interval. Railway's public networking exposes the application through an HTTPS domain, while Docker handles the application build and runtime configuration. No external database service is documented for this deployment.
Common Use Cases
- Monitoring the availability and status of configured KMS servers
- Generating KMS-related activation scripts for supported Microsoft products
- Operating a multilingual KMS server detection and monitoring dashboard
Dependencies for KMS Tools
- Docker image or GitHub repository containing the KMS Tools application
- Persistent Railway Volume mounted at
/app/.data - Configured KMS server monitoring list
Deployment Dependencies
Implementation Details
Docker
KMS Tools can be deployed using the provided Docker image:
ikxin/kms-tools:latest
The repository also includes a Dockerfile at:
./Dockerfile
When deploying from the GitHub repository, Railway can automatically build the application using this Dockerfile.
Public Networking
The application listens on port 3000:
| Protocol | Proxy Type | Target Port | Purpose |
|---|---|---|---|
| HTTP | HTTP Proxy | 3000 | KMS Tools web interface |
The application should bind to all interfaces:
PORT=3000
HOST=0.0.0.0
After deployment, generate a Railway domain under Settings → Networking to access the application over HTTPS.
Environment Variables
| Variable | Required | Description |
|---|---|---|
PORT | Yes | Internal application listening port. Set to 3000. |
HOST | Yes | Network interface the application binds to. Set to 0.0.0.0 for Railway. |
NUXT_MONITOR_LIST | Yes | Comma-separated list of KMS servers to monitor. |
NUXT_MONITOR_INTERVAL | Yes | Interval between KMS server monitoring checks, in seconds. |
Raw Editor example:
PORT=3000
HOST=0.0.0.0
NUXT_MONITOR_LIST=kms.org.cn,win.freekms.cn
NUXT_MONITOR_INTERVAL=10
Customize NUXT_MONITOR_LIST with the KMS servers you want the application to monitor.
Persistent Storage
Persistent storage is required for KMS Tools.
To add the volume:
- Open the KMS Tools service in Railway.
- Go to Settings.
- Open Volumes.
- Add a volume.
- Set the mount path to:
/app/.data
The volume preserves application data stored by KMS Tools across service restarts and redeployments.
Build & Start
When deploying from the supplied GitHub repository, configure Railway to use:
Builder: Dockerfile
Root Directory: /
Dockerfile Path: ./Dockerfile
Runtime: Docker
The documented start command is:
node .output/server/index.mjs
If the Docker image already defines the appropriate runtime configuration, no additional build configuration is required beyond the supplied Docker deployment settings.
Accessing the Application
- Deploy KMS Tools as a Railway service.
- Configure the required environment variables.
- Add a Railway Volume mounted at
/app/.data. - Deploy the service using the Dockerfile or
ikxin/kms-tools:latest. - Open Settings → Networking.
- Generate a Railway domain for port
3000. - Open the generated HTTPS URL to access KMS Tools.
The application provides a web interface for KMS server detection, monitoring, and the other documented toolbox features.
Why Deploy KMS Tools on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying KMS Tools on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
kms-tools
ikxin/kms-tools:latest