46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
services:
|
|
postgresql:
|
|
image: postgres:16
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy-net
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRESQL_USER:-zipline}
|
|
POSTGRES_PASSWORD: ${POSTGRESQL_PASSWORD:?POSTGRESSQL_PASSWORD is required}
|
|
POSTGRES_DB: ${POSTGRESQL_DB:-zipline}
|
|
volumes:
|
|
- /mnt/appdata/zipline/data/pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ['CMD', 'pg_isready', '-U', 'zipline']
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
zipline:
|
|
image: ghcr.io/diced/zipline
|
|
ports:
|
|
- '3000:3000'
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
- proxy-net
|
|
environment:
|
|
- DATABASE_URL=postgres://${POSTGRESQL_USER:-zipline}:${POSTGRESQL_PASSWORD}@postgresql:5432/${POSTGRESQL_DB:-zipline}
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_healthy
|
|
volumes:
|
|
- '/mnt/appdata/zipline/uploads:/zipline/uploads'
|
|
- '/mnt/appdata/zipline/public:/zipline/public'
|
|
- '/mnt/appdata/zipline/themes:/zipline/themes'
|
|
healthcheck:
|
|
test: ['CMD', 'wget', '-q', '--spider', 'http://localhost:3000/api/healthcheck']
|
|
interval: 15s
|
|
timeout: 2s
|
|
retries: 2
|
|
|
|
networks:
|
|
proxy-net:
|
|
external: true |