04b47828a1
* feat(apps): add penpot * fix(penpot): fix description
101 lines
3.3 KiB
YAML
101 lines
3.3 KiB
YAML
version: "3.9"
|
|
services:
|
|
penpot:
|
|
image: penpotapp/frontend:latest
|
|
container_name: penpot
|
|
restart: unless-stopped
|
|
ports:
|
|
- ${APP_PORT}:80
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/assets:/opt/data/assets
|
|
depends_on:
|
|
- penpot-backend
|
|
- penpot-exporter
|
|
networks:
|
|
- tipi_main_network
|
|
labels:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.penpot-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.penpot.loadbalancer.server.port:
|
|
80
|
|
# Web
|
|
traefik.http.routers.penpot-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.penpot-insecure.entrypoints: web
|
|
traefik.http.routers.penpot-insecure.service: penpot
|
|
traefik.http.routers.penpot-insecure.middlewares:
|
|
penpot-web-redirect
|
|
# Websecure
|
|
traefik.http.routers.penpot.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.penpot.entrypoints: websecure
|
|
traefik.http.routers.penpot.service: penpot
|
|
traefik.http.routers.penpot.tls.certresolver:
|
|
myresolver
|
|
# Local domain
|
|
traefik.http.routers.penpot-local-insecure.rule: Host(`penpot.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.penpot-local-insecure.entrypoints: web
|
|
traefik.http.routers.penpot-local-insecure.service: penpot
|
|
traefik.http.routers.penpot-local-insecure.middlewares:
|
|
penpot-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.penpot-local.rule: Host(`penpot.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.penpot-local.entrypoints: websecure
|
|
traefik.http.routers.penpot-local.service: penpot
|
|
traefik.http.routers.penpot-local.tls: true
|
|
environment:
|
|
- PENPOT_FLAGS=enable-registration enable-login-with-password
|
|
|
|
penpot-backend:
|
|
image: penpotapp/backend:latest
|
|
container_name: penpot-backend
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/assets:/opt/data/assets
|
|
depends_on:
|
|
- penpot-postgres
|
|
- penpot-redis
|
|
networks:
|
|
- tipi_main_network
|
|
environment:
|
|
- PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification
|
|
- PENPOT_PUBLIC_URI=${APP_PROTOCOL:-http}://${APP_DOMAIN}:${APP_PORT}
|
|
- PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
|
|
- PENPOT_DATABASE_USERNAME=tipi
|
|
- PENPOT_DATABASE_PASSWORD=${PENPOT_POSTGRES_PASSWORD}
|
|
- 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-exporter:
|
|
image: penpotapp/exporter:latest
|
|
container_name: penpot-exporter
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|
|
environment:
|
|
- PENPOT_PUBLIC_URI=http://penpot
|
|
- PENPOT_REDIS_URI=redis://penpot-redis/0
|
|
|
|
penpot-postgres:
|
|
image: postgres:14
|
|
restart: unless-stopped
|
|
container_name: penpot-postgres
|
|
stop_signal: SIGINT
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
|
networks:
|
|
- tipi_main_network
|
|
environment:
|
|
- POSTGRES_INITDB_ARGS=--data-checksums
|
|
- POSTGRES_DB=penpot
|
|
- POSTGRES_USER=tipi
|
|
- POSTGRES_PASSWORD=${PENPOT_POSTGRES_PASSWORD}
|
|
|
|
penpot-redis:
|
|
image: redis:7
|
|
container_name: penpot-redis
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|