Back to all templates
Pixelfed logo

Pixelfed

Application1024MB+ RAM

Decentralized photo sharing (Instagram alternative)

photosfediverseinstagram-alternativeactivitypub

Deploy Pixelfed in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Pixelfed

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Pixelfed on a VPS with Server Compass

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.

About 12 minutesBrowser verified
1
Step 1

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.

Server Compass Apps tab before creating a Pixelfed stack
2
Step 2

Choose an app template

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

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Pixelfed

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

Searching for Pixelfed in the Server Compass template picker
4
Step 4

Select the Pixelfed template

Choose the Pixelfed template. Server Compass prepares the official source-built app, MySQL, Redis, Horizon worker, scheduler, and bootstrap services.

Pixelfed template selected in Server Compass
5
Step 5

Review the Pixelfed settings

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

Reviewing Pixelfed project settings and compose services
6
Step 6

Deploy Pixelfed

Review the public URL, domain, Laravel app key, database passwords, sender email, and compose services, then click Deploy.

Reviewing Pixelfed environment values and ports before deployment
7
Step 7

Watch the deployment progress

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.

Server Compass deploying the Pixelfed template on the VPS
8
Step 8

Confirm Pixelfed is running

After deployment finishes, return to the Apps tab and confirm the Pixelfed app is marked Running.

Pixelfed template running in the Server Compass Apps tab
9
Step 9

Verify Pixelfed from the VPS

Verify the Pixelfed app, Horizon worker, scheduler, MySQL, Redis, and setup sidecar are healthy, and /api/v1/instance returns Pixelfed metadata.

Pixelfed service verification output showing healthy containers and instance API metadata

After Pixelfed Opens

  • Put Pixelfed behind HTTPS and a real domain before production federation.
  • Configure real outbound mail delivery before inviting users or requiring email verification.
  • Create local users according to your instance policy and disable open registration if the server is private.
  • Back up the MySQL, Redis, Pixelfed storage, and bootstrap cache volumes.

Verified Result

Pixelfed, Horizon, scheduler, MySQL, Redis, and the setup sidecar were healthy; the instance API returned Pixelfed metadata for the VPS URL.

Pixelfed deployment questions

What does the Pixelfed template deploy?

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.

Which port did the tutorial use?

This tutorial used host port 8080. Server Compass can choose another free port if that port is already in use on your VPS.

Why verify /api/v1/instance?

Pixelfed exposes Mastodon-compatible instance metadata there. A 200 response confirms the Laravel app, database, cache, and configuration are working after deployment.

Should this become a blog post?

No. The deployment guide should live on the Pixelfed template detail page and be linked from the reusable template deployment docs page.

DIY Deployment

Self-Host Pixelfed with Docker

Take the DIY route and deploy Pixelfed on your own server using Docker.

1

Log into Your Server

Access your server's command line by opening a terminal and running the SSH command below.

terminal
# SSH into your server
ssh root@your-server-ip

# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ip

First time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh

2

Prepare the Install Location

Set up the folder structure for your Docker deployment.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/pixelfed
cd ~/apps/pixelfed
3

Create docker-compose.yml

Set up your Docker Compose file with this configuration:

docker-compose.yml
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:
Configurable Options
PORTHost port(default: 8080)
APP_URLApp URL
APP_DOMAINDomain
APP_KEYApp key
DB_PASSWORDDB password
4

Run the Deployment

Start all services defined in your compose file.

terminal
# Start the containers in detached mode
docker compose up -d

# Check if containers are running
docker compose ps

# View logs
docker compose logs -f
5

Configure Network Access

Open the port so you can access the application externally.

terminal
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8080
Skip the Terminal

Want one-click deploys? Try Server Compass.

Forget SSH and YAML files. Deploy Pixelfed visually with Server Compass in just a few clicks.

  • Visual configuration UI
  • One-click deployment
  • Automatic SSL setup
  • Zero-downtime updates
  • Built-in monitoring
  • One-click rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Pixelfed with Server Compass, complete these steps to finish setup

1

Complete installation wizard

2

Register admin account

3

Configure federation

Need help? Check out our documentation for detailed guides.

Pixelfed FAQ

Common questions about self-hosting Pixelfed

How do I deploy Pixelfed with Server Compass?

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.

What are the system requirements for Pixelfed?

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.

Can I migrate my existing Pixelfed data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Pixelfed backup and restore procedures.

How do I update Pixelfed to the latest version?

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.

Is Pixelfed free to self-host?

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.

Ready to Self-Host Pixelfed?

Download Server Compass and deploy Pixelfed to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass