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 photo sharing (Instagram alternative)
Add your server credentials to Server Compass
Choose from our template library
Fill in settings and click Deploy
Use the Pixelfed template in Server Compass to deploy the official source-built Pixelfed stack with MySQL, Redis, Horizon workers, scheduler, migrations, and instance bootstrap.
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 Pixelfed in the Server Compass template catalog.
Choose the Pixelfed template. Server Compass prepares the official source-built app, MySQL, Redis, Horizon worker, scheduler, and bootstrap services.
Confirm the app name and compose services. In this run, the app was named pixelfed-demo and used host port 8080.
Review the public URL, domain, Laravel app key, database passwords, sender email, and compose services, then click Deploy.
Keep the deployment modal open while Server Compass clones the official Pixelfed source, builds the PHP image, uploads the compose file, starts services, runs migrations, and verifies the stack.
After deployment finishes, return to the Apps tab and confirm the Pixelfed app is marked Running.
Verify the Pixelfed app, Horizon worker, scheduler, MySQL, Redis, and setup sidecar are healthy, and /api/v1/instance returns Pixelfed metadata.
Pixelfed, Horizon, scheduler, MySQL, Redis, and the setup sidecar were healthy; the instance API returned Pixelfed metadata for the VPS URL.
It deploys the official source-built Pixelfed application with MySQL 8.4, Redis, Horizon queue workers, a scheduler, migrations, and a setup job for instance actor and Passport keys.
This tutorial used host port 8080. Server Compass can choose another free port if that port is already in use on your VPS.
Pixelfed exposes Mastodon-compatible instance metadata there. A 200 response confirms the Laravel app, database, cache, and configuration are working after deployment.
No. The deployment guide should live on the Pixelfed template detail page and be linked from the reusable template deployment docs page.
Take the DIY route and deploy Pixelfed on your own server using Docker.
Access your server's command line by opening a terminal and running the SSH command below.
# SSH into your server
ssh root@your-server-ip
# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ipFirst time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh
Set up the folder structure for your Docker deployment.
# Create and navigate to project directory
mkdir -p ~/apps/pixelfed
cd ~/apps/pixelfedSet up your Docker Compose file with this configuration:
services:
pixelfed:
image: pixelfed/pixelfed:latest
ports:
- "8080:80"
environment:
- APP_URL=<your-app-url>
- APP_DOMAIN=<your-app-domain>
- DB_CONNECTION=pgsql
- DB_HOST=db
- DB_DATABASE=pixelfed
- DB_USERNAME=pixelfed
- DB_PASSWORD=<your-db-password>
- REDIS_HOST=redis
- APP_KEY=<your-app-key>
volumes:
- pixelfed_storage:/var/www/storage
restart: unless-stopped
depends_on:
- db
- redis
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=pixelfed
- POSTGRES_PASSWORD=<your-db-password>
- POSTGRES_DB=pixelfed
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
pixelfed_storage:
postgres_data:
PORTHost port(default: 8080)APP_URLApp URLAPP_DOMAINDomainAPP_KEYApp keyDB_PASSWORDDB passwordStart all services defined in your compose file.
# Start the containers in detached mode
docker compose up -d
# Check if containers are running
docker compose ps
# View logs
docker compose logs -fOpen the port so you can access the application externally.
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8080Forget SSH and YAML files. Deploy Pixelfed visually with Server Compass in just a few clicks.
After deploying Pixelfed with Server Compass, complete these steps to finish setup
Complete installation wizard
Register admin account
Configure federation
Need help? Check out our documentation for detailed guides.
Common questions about self-hosting Pixelfed
Simply download Server Compass, connect to your VPS, and select Pixelfed from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
Pixelfed requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB 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 Pixelfed backup and restore procedures.
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Pixelfed image will be pulled and deployed with zero downtime.
Pixelfed 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 Pixelfed to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass