
Mastodon
Decentralized social network (Twitter alternative)
Deploy Mastodon in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select Mastodon
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Self-Host Mastodon with Docker
Take the DIY route and deploy Mastodon on your own server using Docker.
Remote into Your Server
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
Create the App Directory
Organize your deployment by creating a dedicated project folder.
# Create and navigate to project directory
mkdir -p ~/apps/mastodon
cd ~/apps/mastodonWrite Your docker-compose.yml
Create 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 passwordLaunch the Containers
Start 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 Firewall Ports
Open 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:3000Want the easy way? Try Server Compass.
Forget SSH and YAML files. Deploy Mastodon visually with Server Compass in just a few clicks.
- Visual config editor
- Instant deployment
- Automatic HTTPS
- Smooth updates
- Live monitoring
- Quick rollbacks
After Deployment
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.
Mastodon FAQ
Common questions about self-hosting Mastodon
How do I deploy Mastodon with Server Compass?
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.
What are the system requirements for Mastodon?
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.
Can I migrate my existing Mastodon data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Mastodon backup and restore procedures.
How do I update Mastodon to the latest version?
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.
Is Mastodon free to self-host?
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.
Ready to Self-Host Mastodon?
Download Server Compass and deploy Mastodon to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass


