49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
services:
|
|
postgresql:
|
|
image: postgres:16
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRESQL_USER:-zipline}
|
|
POSTGRES_PASSWORD: ${POSTGRESQL_PASSWORD:?POSTGRESSQL_PASSWORD is required}
|
|
POSTGRES_DB: ${POSTGRESQL_DB:-zipline}
|
|
volumes:
|
|
- 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:
|
|
- '3005:3000'
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- DATABASE_URL=postgres://${POSTGRESQL_USER:-zipline}:${POSTGRESQL_PASSWORD}@postgresql:5432/${POSTGRESQL_DB:-zipline}
|
|
depends_on:
|
|
postgresql:
|
|
condition: service_healthy
|
|
volumes:
|
|
- './uploads:/zipline/uploads'
|
|
- './public:/zipline/public'
|
|
- './themes:/zipline/themes'
|
|
networks:
|
|
- caddy_proxy
|
|
- default
|
|
healthcheck:
|
|
test: ['CMD', 'wget', '-q', '--spider', 'http://localhost:3000/api/healthcheck']
|
|
interval: 15s
|
|
timeout: 2s
|
|
retries: 2
|
|
|
|
volumes:
|
|
pgdata:
|
|
|
|
networks:
|
|
caddy_proxy:
|
|
external: true
|