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.


Code quality and security analysis
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the SonarQube template in Server Compass to deploy a self-hosted code quality and security analysis platform with PostgreSQL on your VPS, then verify the SonarQube login screen 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 SonarQube in the Server Compass template catalog.

Choose the SonarQube template. Server Compass fills the SonarQube service, PostgreSQL service, persistent SonarQube volumes, and the required database password.

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

Review the generated environment values, keep the database password masked, confirm the web port is available, and click Deploy Now.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the SonarQube and PostgreSQL images, starts the containers, and verifies the stack.

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

Click Open Application or open the application URL in a browser. The SonarQube login screen confirms the deployed analysis platform is reachable and ready for final setup.

The SonarQube app loaded successfully in a browser and displayed the login screen.
It deploys the SonarQube Community container with PostgreSQL 16, persistent SonarQube data/logs/extensions volumes, and a persistent database volume.
The tutorial used host port 9000, which maps to the SonarQube web UI on container port 9000.
A fresh SonarQube deployment is considered reachable when the login screen loads. The public guide stops before signing in because production credentials and project setup are environment-specific.
No. The deployment guide should live on the SonarQube template detail page and be linked from the reusable template deployment docs page.
Learn how to self-host SonarQube with this hands-on deployment guide.
Start by opening a terminal window and connecting to your VPS via SSH.
# Connect to your VPS
ssh root@your-server-ip
# Or with a specific SSH key
ssh -i ~/.ssh/your-key root@your-server-ipFirst time? Docker required! Install it with: curl -fsSL https://get.docker.com | sh
Create a dedicated space for your application deployment.
# Create and navigate to project directory
mkdir -p ~/apps/sonarqube
cd ~/apps/sonarqubeCreate a docker-compose.yml file with the following configuration:
services:
sonarqube:
image: sonarqube:community
ports:
- "9000:9000"
environment:
- SONAR_JDBC_URL=jdbc:postgresql://db:5432/sonarqube
- SONAR_JDBC_USERNAME=sonarqube
- SONAR_JDBC_PASSWORD=<your-db-password>
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_logs:/opt/sonarqube/logs
- sonarqube_extensions:/opt/sonarqube/extensions
restart: unless-stopped
depends_on:
- db
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=sonarqube
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=sonarqube
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
sonarqube_data:
sonarqube_logs:
sonarqube_extensions:
postgres_data:
PORTHost port(default: 9000)DB_PASSWORDDB passwordDeploy the stack and monitor the startup process.
# Spin up containers
docker compose up -d
# Verify deployment
docker compose ps
# Check logs for errors
docker compose logs -fSet up firewall rules to permit incoming connections.
# Allow the application port through firewall
sudo ufw allow 9000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:9000Let Server Compass handle the complexity. Deploy SonarQube with a simple, intuitive interface.
After deploying SonarQube with Server Compass, complete these steps to finish setup
Set vm.max_map_count on host
Log in (admin/admin)
Change password
Create projects
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting SonarQube
Simply download Server Compass, connect to your VPS, and select SonarQube from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
SonarQube requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB 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 SonarQube backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest SonarQube image will be pulled and deployed with zero downtime.
SonarQube 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 SonarQube to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass