esc
Type to search the docs
Back to catalog

penpot

Draft

Open-source design and prototyping platform

Design Homepage

Run locally

Terminal
$ npx launchfile up penpot

Requires Docker Desktop. No source code needed — pulls pre-built images and starts penpot with all dependencies.

Image: penpotapp/frontend:latest
Launchfile View on GitHub
# yaml-language-server: $schema=https://launchfile.dev/schema/v1
version: launch/v1
name: penpot
description: "Open-source design and prototyping platform"

components:
  frontend:
    image: penpotapp/frontend:latest
    provides:
      - protocol: http
        port: 80
        exposed: true
    depends_on:
      - component: backend
        condition: healthy
      - "exporter"
    env:
      PENPOT_FLAGS:
        default: "enable-registration enable-login-with-password"
    restart: always

  backend:
    image: penpotapp/backend:latest
    provides:
      - protocol: http
        port: 6060
    requires:
      - type: postgres
        set_env:
          PENPOT_DATABASE_URI: $url
          PENPOT_DATABASE_USERNAME: $user
          PENPOT_DATABASE_PASSWORD: $password
      - type: redis
        set_env:
          PENPOT_REDIS_URI: $url
    env:
      PENPOT_SECRET_KEY:
        generator: secret
        sensitive: true
      PENPOT_FLAGS:
        default: "enable-registration enable-login-with-password disable-email-verification"
      PENPOT_PUBLIC_URI:
        required: true
        description: "Public URL where Penpot is accessible"
    storage:
      assets:
        path: /opt/data/assets
        persistent: true
    health:
      path: /readyz
      start_period: 30s
    restart: always

  exporter:
    image: penpotapp/exporter:latest
    provides:
      - protocol: http
        port: 6061
    env:
      PENPOT_PUBLIC_URI:
        required: true
        description: "Public URL where Penpot is accessible"
    restart: always

Required Services

postgresredis

Components

3 components in this Launchfile.

frontendbackendexporter

Learn More

Spec references for features used in this Launchfile.