Files
2026-09-22 00:50:30 +05:00

59 lines
1.3 KiB
YAML

services:
backend:
build:
context: .
dockerfile: Dockerfile
hostname: backend
command: >
sh -c "python manage.py migrate --noinput &&
python manage.py runserver 0.0.0.0:8000"
volumes:
- .:/app
ports:
- "8000:8000"
env_file:
- path: .env
required: false
environment:
POSTGRES_HOST: database
depends_on:
database:
condition: service_healthy
# Postgres-backed background tasks. Same image, different entrypoint.
worker:
build:
context: .
dockerfile: Dockerfile
command: python manage.py procrastinate worker
volumes:
- .:/app
env_file:
- path: .env
required: false
environment:
POSTGRES_HOST: database
depends_on:
backend:
condition: service_started
database:
image: postgres:16
hostname: database
environment:
POSTGRES_DB: ${POSTGRES_DATABASE:-sarlink}
POSTGRES_USER: ${POSTGRES_USER:-sarlink}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER:-sarlink}"]
interval: 5s
timeout: 3s
retries: 10
volumes:
pgdata: