Penpot
Open-source design and prototyping platform for cross-domain teams (Figma alternative)
Deploy Penpot in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select Penpot
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
Penpot CLI Deployment
Deploy Penpot the traditional way with SSH and Docker Compose.
Access Your VPS via Terminal
Open a terminal session and log into your VPS. Replace the placeholder with your actual IP.
# Connect via SSH
ssh root@your-vps-ip
# Alternative with key file
ssh -i /path/to/key root@your-vps-ipFirst time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh
Set Up Project Folder
Create a workspace for your deployment files.
# Create and navigate to project directory
mkdir -p ~/apps/penpot
cd ~/apps/penpotCreate the Compose File
Configure your containers with this Docker Compose setup:
services:
penpot-frontend:
image: penpotapp/frontend:latest
ports:
- "9001:8080"
environment:
- PENPOT_FLAGS=disable-registration enable-login disable-email-verification
- PENPOT_BACKEND_URI=http://penpot-backend:6060
- PENPOT_EXPORTER_URI=http://penpot-exporter:6061
restart: unless-stopped
depends_on:
- penpot-backend
- penpot-exporter
penpot-backend:
image: penpotapp/backend:latest
environment:
- PENPOT_FLAGS=disable-registration enable-login disable-email-verification disable-secure-session-cookies
- PENPOT_SECRET_KEY=<your-secret-key>
- PENPOT_PUBLIC_URI=http://localhost:9001
- PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
- PENPOT_DATABASE_USERNAME=penpot
- PENPOT_DATABASE_PASSWORD=<your-db-password>
- PENPOT_REDIS_URI=redis://penpot-valkey/0
- PENPOT_OBJECTS_STORAGE_BACKEND=fs
- PENPOT_OBJECTS_STORAGE_FS_DIRECTORY=/opt/data/assets
volumes:
- penpot_assets:/opt/data/assets
restart: unless-stopped
depends_on:
penpot-postgres:
condition: service_healthy
penpot-valkey:
condition: service_started
penpot-exporter:
image: penpotapp/exporter:latest
environment:
- PENPOT_PUBLIC_URI=http://penpot-frontend:8080
- PENPOT_REDIS_URI=redis://penpot-valkey/0
restart: unless-stopped
penpot-postgres:
image: postgres:15-alpine
environment:
- POSTGRES_INITDB_ARGS=--data-checksums
- POSTGRES_DB=penpot
- POSTGRES_USER=penpot
- POSTGRES_PASSWORD=<your-db-password>
volumes:
- penpot_db:/var/lib/postgresql/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U penpot -d penpot"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
penpot-valkey:
image: valkey/valkey:8.1-alpine
restart: unless-stopped
volumes:
penpot_assets:
penpot_db:
PORTHost port to expose(default: 9001)SECRET_KEYMaster secret keyDB_PASSWORDDatabase passwordDeploy Your Stack
Spin up the containers and verify the deployment.
# Start all services
docker compose up -d
# List running containers
docker compose ps
# Watch the logs
docker compose logs -fUpdate Firewall Settings
Allow incoming traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 9001/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:9001Skip the terminal. Use Server Compass instead.
Server Compass makes deploying Penpot effortless. Visual setup, one-click deploy, done.
- Beautiful interface
- One-click deploys
- Let's Encrypt SSL
- Zero downtime
- Container monitoring
- Easy rollbacks
After Deployment
After deploying Penpot with Server Compass, complete these steps to finish setup
Open the Penpot URL in your browser
Create your account
Create a new project and start designing
Invite team members for collaboration
Need help? Check out our documentation for detailed guides.
Penpot FAQ
Common questions about self-hosting Penpot
How do I deploy Penpot with Server Compass?
Simply download Server Compass, connect to your VPS, and select Penpot 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 Penpot?
Penpot 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 Penpot data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Penpot backup and restore procedures.
How do I update Penpot to the latest version?
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Penpot image will be pulled and deployed with zero downtime.
Is Penpot free to self-host?
Penpot 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.
Related Templates
View all Development
PocketBase
Open-source backend in a single file with realtime database, auth, and file storage

Appwrite
Open-source backend-as-a-service - self-hosted Firebase alternative

Parse Server
Open-source backend framework with dashboard

Supabase
Full Supabase self-hosted with Kong, GoTrue Auth, Realtime, and Studio
Ready to Self-Host Penpot?
Download Server Compass and deploy Penpot to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass