Open the server Apps tab
Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.


Scalable real-time messaging server
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Centrifugo template in Server Compass to deploy a scalable real-time messaging server on your VPS, then verify the HTTP/WebSocket endpoint in a browser.
Select the tutorial-vps VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Use the template picker search to find Centrifugo in the Server Compass template catalog.

Choose the Centrifugo template. Server Compass fills the Centrifugo service, generated token secret, generated API key, generated admin password, and web/API port.

Confirm the app name and compose services. In this run, the app was named centrifugo-demo and used host port 8000.

Review the generated compose settings, confirm the API port is available, and click Deploy.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Centrifugo image, starts the container, and verifies the stack.

After deployment finishes, return to the Apps tab and confirm the Centrifugo app is marked Running with its application URL available.

Open the application URL with /connection/websocket appended. A plain browser request returns Bad Request because it is not a WebSocket upgrade, which confirms the Centrifugo endpoint is reachable.

The Centrifugo WebSocket endpoint returned the expected Bad Request response for a non-WebSocket browser request.
It deploys the Centrifugo container with generated token/API/admin secrets, admin mode enabled, and an exposed HTTP/WebSocket endpoint.
The tutorial used host port 8000, which maps to the Centrifugo API on container port 8000.
A fresh Centrifugo deployment is considered reachable when /connection/websocket responds. A normal browser request is not a WebSocket upgrade, so Bad Request is the expected response. The tutorial does not publish the generated token secret, API key, or admin password.
No. The deployment guide should live on the Centrifugo template detail page and be linked from the reusable template deployment docs page.
Prefer the command line? Follow this step-by-step guide to deploy Centrifugo manually on your VPS.
Launch your preferred terminal and connect to your VPS using SSH.
# Log into your server
ssh root@<your-server-ip>
# If using key-based auth
ssh -i ~/.ssh/my-key root@<your-server-ip>First time? Docker not installed? Run: curl -fsSL https://get.docker.com | sh
Prepare a directory for your application files and configuration.
# Create and navigate to project directory
mkdir -p ~/apps/centrifugo
cd ~/apps/centrifugoCreate the Docker Compose configuration file with these contents:
services:
centrifugo:
image: centrifugo/centrifugo:latest
ports:
- "8000:8000"
command: centrifugo -c config.json
environment:
- CENTRIFUGO_TOKEN_HMAC_SECRET_KEY=<your-token-secret>
- CENTRIFUGO_API_KEY=<your-api-key>
- CENTRIFUGO_ADMIN_PASSWORD=<your-admin-password>
- CENTRIFUGO_ADMIN=true
volumes:
- centrifugo_data:/centrifugo
restart: unless-stopped
volumes:
centrifugo_data:
PORTHost port(default: 8000)TOKEN_SECRETToken secretAPI_KEYAPI keyADMIN_PASSWORDAdmin passwordLaunch the application stack using Docker Compose.
# Deploy the application
docker compose up -d
# Check container health
docker compose ps
# Monitor logs
docker compose logs -f --tail=100Enable external access by opening the necessary port.
# Allow the application port through firewall
sudo ufw allow 8000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8000Deploy Centrifugo with a beautiful UI instead. No SSH, no YAML editing, no terminal commands. Just click, configure, and deploy in under 3 minutes.
After deploying Centrifugo with Server Compass, complete these steps to finish setup
Test WebSocket connection
Configure channels
Integrate with backend
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Centrifugo
Simply download Server Compass, connect to your VPS, and select Centrifugo from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Centrifugo requires a minimum of 128MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Centrifugo backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Centrifugo image will be pulled and deployed with zero downtime.
Centrifugo is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Open-source backend in a single file with realtime database, auth, and file storage

Open-source backend-as-a-service - self-hosted Firebase alternative

Open-source backend framework with dashboard

Full Supabase self-hosted with Kong, GoTrue Auth, Realtime, and Studio
Download Server Compass and deploy Centrifugo to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass