Deploy Penpot

Penpot: The open-source design tool for design and code collaboration

Deploy Penpot

exporter

penpotapp/exporter

Just deployed

minio

minio/minio:latest

Just deployed

/mnt/data

postgres

railwayapp-templates/postgres-ssl:17

Just deployed

/var/lib/postgresql/data

valkey

valkey/valkey:8.1

Just deployed

frontend

penpotapp/frontend:latest

Just deployed

backend

penpotapp/backend:latest

Just deployed

Deploy and Host Penpot on Railway

Penpot is an open‑source, web‑based design and prototyping tool that enables teams to collaborate visually. Built using open standards, Penpot works entirely in the browser and provides flexibility for both designers and developers.

About Hosting Penpot

Hosting Penpot involves deploying multiple interconnected services that handle storage, rendering, collaboration, and data persistence. When hosting on Railway, these services are provisioned through managed containers and databases, allowing you to run Penpot reliably without manual infrastructure setup. Deployment requires configuring environment variables, linking services, and applying the necessary Penpot flags. With Railway's automated builds and scaling features, keeping your Penpot instance stable and performant becomes significantly easier.

Common Use Cases

  • Running a private design/prototyping workspace for teams
  • Integrating Penpot into an existing development environment
  • Hosting a fully managed, scalable design platform without self‑maintained servers

Dependencies for Penpot Hosting

  • Valkey (Redis-compatible cache)
  • Penpot Exporter (rendering/export service)
  • MinIO (S3-compatible storage)
  • PostgreSQL database
  • Penpot Frontend
  • Penpot Backend

MinIO Setup Requirement

After the MinIO service is deployed and running, you must log in to the MinIO console and create a bucket named penpot-assets.
Penpot uses this bucket to store project assets, previews, and exported files.
If this bucket is not created, uploads and exports will not function correctly.

Deployment Dependencies

Implementation Details (OPTIONAL)

Default Flags Used in This Template

Frontend: - enable-prepl-server: Enables PREPL server, used by internal tooling and manage.py.

Backend: - disable-email-verification: Disabled because SMTP is blocked on Railway Hobby plans. - enable-prepl-server: Enables PREPL server for internal communication.

SMTP Configuration for Railway Pro Users

If you are using a Railway Pro plan, SMTP becomes available.
In this case, remove disable-email-verification and configure these environment variables in the backend service:

PENPOT_SMTP_DEFAULT_FROM: [email protected]
PENPOT_SMTP_DEFAULT_REPLY_TO: [email protected]
PENPOT_SMTP_HOST: penpot-mailcatch
PENPOT_SMTP_PORT: 1025
PENPOT_SMTP_USERNAME:
PENPOT_SMTP_PASSWORD:
PENPOT_SMTP_TLS: false
PENPOT_SMTP_SSL: false

For more configuration details, refer to the template's Discuss page or the official guide:
https://help.penpot.app/technical-guide/getting-started/

Why Deploy Penpot on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Penpot on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

View Template
peppermint
Docker-compose port for peppermint.sh