Installation
Prerequisites
Section titled “Prerequisites”Before you begin, make sure your VPS meets these requirements:
- Linux with systemd (user-level services)
- Node.js >= 20
- npm or pnpm
Check your versions:
node --version # should be 18 or highernpm --versionStep 1: Install the Package
Section titled “Step 1: Install the Package”Install VPS Deployer globally via npm:
npm install -g vps-deployerVerify the installation:
vps-deployer --versionStep 2: Enable User Lingering
Section titled “Step 2: Enable User Lingering”By default, systemd user services stop when you log out. Enable lingering so your service persists:
loginctl enable-linger $USERThis is a one-time setup. Without it, your deployments would stop every time you disconnect from SSH.
Step 3: Configure
Section titled “Step 3: Configure”Run the config command to generate your systemd service file, database, and reference configs:
vps-deployer config -w /opt/vps-deployer -p 3000 -s your-secret-key| Flag | Description | Required |
|---|---|---|
-w, --working-dir | Directory where projects and data will be stored | Yes |
-p, --port | Port for the web UI and API (1024–50000) | Yes |
-s, --session-key | Secret key for session encryption (min 6 characters) | Yes |
What This Creates
Section titled “What This Creates”- Systemd service file at
~/.config/systemd/user/vps-deployer.service - SQLite database at
<working-dir>/vps-deployer.db - Reference configs for Caddy and Nginx reverse proxies
- Log file at
<working-dir>/vps-deployer.log
The command exits immediately after setup — it does not start the server.
Step 4: Start the Service
Section titled “Step 4: Start the Service”vps-deployer startThis enables and starts the user-level systemd service. Your terminal is freed immediately — the process runs in the background.
Verify it’s running:
systemctl --user status vps-deployerStep 5: Access the Web UI
Section titled “Step 5: Access the Web UI”Open your browser and navigate to:
http://<your-server-ip>:3000You’ll be prompted to register an account. Only one user can register — the first one wins.
Development Mode
Section titled “Development Mode”If you want to run VPS Deployer in the foreground (useful for testing or development), use the dev command instead:
vps-deployer dev -w /opt/vps-deployer -p 3000 -s your-secret-keyThis skips systemd setup and runs the Express server directly in your terminal. Press Ctrl+C to stop.
Next Steps
Section titled “Next Steps”- First Deployment — create your first project and deploy
- CLI Commands — full reference of all available commands