dynamicweb/docker-compose.yml

43 lines
910 B
YAML

x-app: &app
build: .
image: dynamicweb:latest # one image; web and celery differ only by command
env_file:
- .env.docker
- path: .env # optional local overrides
required: false
volumes:
- appdata:/data # generated secret key
- media:/usr/src/app/media
- logs:/usr/src/app/logs
depends_on: [db, redis]
services:
db:
image: postgres:18-alpine
environment:
POSTGRES_DB: app
POSTGRES_USER: app
POSTGRES_PASSWORD: app
volumes:
- pgdata:/var/lib/postgresql
# any *.sql / *.sql.gz here is restored on the first start (empty pgdata)
- ./db-init:/docker-entrypoint-initdb.d:ro
redis:
image: redis:6-alpine
web:
<<: *app
command: sh start-web.sh
ports:
- "8000:8000"
celery:
<<: *app
command: celery -A dynamicweb worker -l info
volumes:
pgdata:
appdata:
media:
logs: