movie-night-api/docker-compose.yml

55 lines
1.4 KiB
YAML

services:
db:
image: postgres:17
container_name: movienight-db
environment:
POSTGRES_DB: ${DATABASE_NAME}
POSTGRES_USER: ${DATABASE_USERNAME}
PGUSER: ${DATABASE_USERNAME}
POSTGRES_PASSWORD: ${DATABASE_PASSWORD}
env_file:
- .env
ports:
- "5432:5432"
user: postgres
volumes:
- movienight_data:/var/lib/postgresql/data
- ./init-scripts:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $DATABASE_USERNAME"]
interval: 30s
timeout: 60s
retries: 5
start_period: 80s
api:
build: .
user: ${UID}:${GID}
container_name: movienight-api
ports:
- "8000:8000"
depends_on:
db:
condition: service_healthy
environment:
DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY}
DEBUG: ${DEBUG}
DJANGO_LOGLEVEL: ${DJANGO_LOGLEVEL}
DJANGO_ALLOWED_HOSTS: ${DJANGO_ALLOWED_HOSTS}
DATABASE_ENGINE: ${DATABASE_ENGINE}
DATABASE_NAME: ${DATABASE_NAME}
DATABASE_USERNAME: ${DATABASE_USERNAME}
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
DATABASE_HOST: ${DATABASE_HOST}
DATABASE_PORT: ${DATABASE_PORT}
OMDB_API_KEY: ${OMDB_API_KEY}
env_file:
- .env
volumes:
- ./:/app
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
volumes:
movienight_data: