--- networks: penpot: volumes: penpot_postgres_data: penpot_assets_data: services: penpot-frontend: image: "penpotapp/frontend:latest" ports: - 9001:80 volumes: - ${DOCKER_STORAGE_PATH}/penpot/data:/opt/data$ env_file: - penpot.env depends_on: - penpot-backend - penpot-exporter networks: - penpot penpot-backend: image: "penpotapp/backend:latest" volumes: - penpot_assets_data:/opt/data depends_on: - penpot-postgres - penpot-redis env_file: - config.env networks: - penpot penpot-exporter: image: "penpotapp/exporter:latest" env_file: - config.env environment: # Don't touch it; this uses internal docker network to # communicate with the frontend. - PENPOT_PUBLIC_URI=http://penpot-frontend networks: - penpot penpot-postgres: image: "postgres:14" restart: always stop_signal: SIGINT environment: - POSTGRES_INITDB_ARGS=--data-checksums - POSTGRES_DB=penpot - POSTGRES_USER=penpot - POSTGRES_PASSWORD=penpot volumes: - penpot_postgres_data:/var/lib/postgresql/data networks: - penpot penpot-redis: image: redis:7 restart: always networks: - penpot