Installation guide
Step-by-step instructions for installing the Xcellerate RMM server using Docker Compose.
Overview
The fastest way to deploy Xcellerate RMM is with Docker Compose. This guide walks you through the entire process — from preparing the host to verifying the running server. If you prefer a bare-metal install, refer to the advanced installation notes at the end.
Key concepts
- Docker Compose stack — the server ships as a set of containers: web UI, API, background workers, PostgreSQL, and Redis.
- Environment file (.env) — a single file that holds all configuration: database credentials, TLS settings, SMTP relay, and licence key.
- Data volumes — persistent Docker volumes for the database and uploaded files, ensuring your data survives container restarts.
Step-by-step installation
Prepare the host
Install Docker and Docker Compose on your server. On Ubuntu: sudo apt update && sudo apt install -y docker.io docker-compose-v2. Then add your user to the docker group: sudo usermod -aG docker $USER and log out/in.
Download the Xcellerate package
Clone the deployment repository: git clone https://github.com/rmmlabs/xcellerate-rmm.git && cd xcellerate-rmm. This contains the docker-compose.yml and a sample .env.example file.
Configure environment variables
Copy the sample file: cp .env.example .env. Open .env in your editor and set at minimum: SERVER_HOSTNAME, DB_PASSWORD, and ADMIN_EMAIL. The file is well-commented — each variable explains its purpose.
Start the stack
Run docker compose up -d. Docker will pull the images (~1.2 GB on first run), create volumes, and start all services. The process usually takes 2–4 minutes.
Verify the installation
Open https://help.comodo.com/uploads/Comodo%20One/6e175807820c03aca9839d66e42cbef4/5eac818f1e1c4adc19d335055b06586b/86591a8e70c8559c6cbe59827974324a/c1_rmm_install6.png in a browser. You should see the Xcellerate RMM login screen. If using a self-signed certificate, your browser will show a security warning — this is expected.
Enabling TLS with Let's Encrypt
For production, enable automatic TLS. Set TLS_MODE=letsencrypt and [email protected] in your .env file, then restart the stack. The built-in reverse proxy will obtain and renew certificates automatically.
# .env excerpt
SERVER_HOSTNAME=rmm.yourcompany.com
TLS_MODE=letsencrypt
[email protected]Tips & best practices
- Always use a fully qualified domain name (FQDN) for
SERVER_HOSTNAME— agents rely on it to connect. - Set a strong, unique
DB_PASSWORD. Avoid special characters that may need escaping in shell contexts. - Back up the
.envfile separately — it contains your database credentials and licence key. - Schedule automatic Docker image updates with a cron job or Watchtower to stay on the latest patch releases.