version: "3.7" services: app_proxy: environment: APP_HOST: penpot_penpot-frontend_1 APP_PORT: 80 # Can consider disabling auth all together. Penpot has its own auth system. PROXY_AUTH_WHITELIST: "/api/*" penpot-frontend: image: penpotapp/frontend:2.0.1@sha256:d5e154a986527e66a69ae1a0e81399e13198c0a764c8249319a8ecf0357ca34e volumes: - ${APP_DATA_DIR}/data/assets:/opt/data/assets environment: - PENPOT_FLAGS=enable-registration enable-login-with-password depends_on: - penpot-backend - penpot-exporter restart: on-failure penpot-backend: image: penpotapp/backend:2.0.1@sha256:73e234c2bba2a18c9dcaa6c525b4eb7fe5c3df27d3654e937dd50eaabf23e511 # user 1000:1000 to avoid permission issues when importing libraries and templates user: "1000:1000" volumes: - ${APP_DATA_DIR}/data/assets:/opt/data/assets environment: - PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification disable-smtp enable-prepl-server disable-secure-session-cookies - PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot - PENPOT_DATABASE_USERNAME=penpot - PENPOT_DATABASE_PASSWORD=penpot - PENPOT_REDIS_URI=redis://penpot-redis/0 - PENPOT_ASSETS_STORAGE_BACKEND=assets-fs - PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets - PENPOT_TELEMETRY_ENABLED=false # PENPOT_PUBLIC_URI needs to be set to in order to render thumbnails in the frontend - PENPOT_PUBLIC_URI=http://${DEVICE_DOMAIN_NAME}:${APP_PENPOT_UI_PORT} depends_on: - penpot-postgres - penpot-redis restart: on-failure penpot-exporter: image: penpotapp/exporter:2.0.1@sha256:ce67d475c0f178db8a3e6a0d866f270edddc4940797bd735d2b161ef3de46930 user: "1000:1000" environment: - PENPOT_PUBLIC_URI=http://penpot-frontend - PENPOT_REDIS_URI=redis://penpot-redis/0 restart: on-failure penpot-postgres: image: postgres:15@sha256:546445ad21cb5893c0997080b831ee45945e798c4359270e16413c8bd93575db user: "1000:1000" stop_signal: SIGINT volumes: - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data environment: - POSTGRES_INITDB_ARGS=--data-checksums - POSTGRES_DB=penpot - POSTGRES_USER=penpot - POSTGRES_PASSWORD=penpot restart: on-failure penpot-redis: image: redis:7@sha256:45bfd95117a171ff9c1b5304bdae80a7a61eb5bbf0793d6a86c9078526ad88fa user: "1000:1000" restart: on-failure