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.


Decentralized social network (Twitter alternative)
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Mastodon template in Server Compass to deploy the web, streaming, Sidekiq, PostgreSQL, and Redis services, then verify the web health endpoint and public UI.
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 Mastodon in the Server Compass template catalog.

Choose the Mastodon template. Server Compass fills the Mastodon web, streaming, Sidekiq, PostgreSQL, Redis, setup migration service, persistent media volume, and required secrets.

Confirm the app name, local domain, web domain, generated secrets, web port, and streaming port. In this run, the app was named mastodon-demo and used host web port 4300.

Review the generated compose settings, confirm the Mastodon web and streaming ports are available, and click Deploy.

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Mastodon images, runs database setup, starts the web, streaming, and Sidekiq services, and verifies the stack.

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

Open the application URL in a browser. The Mastodon web UI confirms the instance is reachable before you create the first administrator and configure federation requirements.

The Mastodon `/health` endpoint returned OK and the public web UI loaded through the configured sslip.io domain.
It deploys Mastodon web, streaming, Sidekiq, PostgreSQL, Redis, a one-shot database setup service, and persistent media storage.
The tutorial used host web port 4300, which maps to the Mastodon web service on container port 3000.
Yes. Create the first owner account, configure a real domain, HTTPS, SMTP, and moderation settings before using it as a production federated server.
No. The deployment guide should live on the Mastodon template detail page and be linked from the reusable template deployment docs page.
Take the DIY route and deploy Mastodon on your own server using Docker.
Initiate a secure shell connection to your server using the command below.
# 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
Organize your deployment by creating a dedicated project folder.
# Create and navigate to project directory
mkdir -p ~/apps/mastodon
cd ~/apps/mastodonCreate a new docker-compose.yml file and paste this configuration:
services:
mastodon:
image: tootsuite/mastodon:latest
ports:
- "3000:3000"
environment:
- LOCAL_DOMAIN=<your-local-domain>
- SECRET_KEY_BASE=<your-secret-key>
- OTP_SECRET=<your-otp-secret>
- DB_HOST=db
- DB_USER=mastodon
- DB_PASS=<your-db-password>
- DB_NAME=mastodon
- REDIS_HOST=redis
command: bundle exec rails s -p 3000
volumes:
- mastodon_data:/mastodon/public/system
restart: unless-stopped
depends_on:
- db
- redis
sidekiq:
image: tootsuite/mastodon:latest
command: bundle exec sidekiq
environment:
- LOCAL_DOMAIN=<your-local-domain>
- SECRET_KEY_BASE=<your-secret-key>
- OTP_SECRET=<your-otp-secret>
- DB_HOST=db
- DB_USER=mastodon
- DB_PASS=<your-db-password>
- DB_NAME=mastodon
- REDIS_HOST=redis
volumes:
- mastodon_data:/mastodon/public/system
restart: unless-stopped
depends_on:
- db
- redis
streaming:
image: tootsuite/mastodon:latest
command: node ./streaming
ports:
- "4000:4000"
environment:
- LOCAL_DOMAIN=<your-local-domain>
- SECRET_KEY_BASE=<your-secret-key>
- DB_HOST=db
- DB_USER=mastodon
- DB_PASS=<your-db-password>
- DB_NAME=mastodon
- REDIS_HOST=redis
restart: unless-stopped
depends_on:
- db
- redis
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=mastodon
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=mastodon
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
mastodon_data:
postgres_data:
redis_data:
PORTHost port(default: 3000)LOCAL_DOMAINDomainSECRET_KEYSecret keyOTP_SECRETOTP secretDB_PASSWORDDB passwordStart the services and tail the logs to verify startup.
# Spin up containers
docker compose up -d
# Verify deployment
docker compose ps
# Check logs for errors
docker compose logs -fOpen the required port in your firewall to allow access.
# Allow the application port through firewall
sudo ufw allow 3000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:3000Forget SSH and YAML files. Deploy Mastodon visually with Server Compass in just a few clicks.
After deploying Mastodon with Server Compass, complete these steps to finish setup
Run: tootctl db:setup
Create admin account
Configure SMTP
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Mastodon
Simply download Server Compass, connect to your VPS, and select Mastodon from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Mastodon 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 Mastodon backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Mastodon image will be pulled and deployed with zero downtime.
Mastodon 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.
Download Server Compass and deploy Mastodon to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass