services: db: image: postgres:17 container_name: djangodocker-db environment: POSTGRES_DB: ${DATABASE_NAME} POSTGRES_USER: ${DATABASE_USERNAME} POSTGRES_PASSWORD: ${DATABASE_PASSWORD} env_file: - .env ports: - "5432:5432" volumes: - djangodocker_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready", "-d", "$DATABASE_NAME"] interval: 30s timeout: 60s retries: 5 start_period: 80s api: build: . user: ${UID}:${GID} container_name: djangodocker-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} env_file: - .env volumes: - ./:/app - /etc/passwd:/etc/passwd:ro - /etc/group:/etc/group:ro volumes: djangodocker_data: