name: siesa-report-prod services: cache: image: redis:7-alpine container_name: cache restart: always # command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD} command: redis-server --appendonly yes --replica-read-only no volumes: - cache_data:/data networks: - siesa_net healthcheck: test: ["CMD", "redis-cli", "--raw", "incr", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 10s db: image: postgres:latest container_name: db restart: always environment: POSTGRES_DB: ${DB_NAME} POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_HOST_AUTH_METHOD: "scram-sha-256" volumes: - postgres_data:/var/lib/postgresql/data - ./postgres/backups:/backups networks: - siesa_net healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] interval: 10s timeout: 5s retries: 5 core: image: galejandromorera/siesa-report-core:${CORE_TAG} container_name: core restart: always environment: RUN_MODE: ${RUN_MODE} volumes: - ./.env:/app/.env - static_data:/app/staticfiles - media_data:/app/media depends_on: cache: condition: service_healthy db: condition: service_healthy networks: - siesa_net nginx: image: nginx:alpine container_name: nginx restart: always ports: - "80:80" # - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/conf.d:/etc/nginx/conf.d:ro - static_data:/vol/static - media_data:/vol/media depends_on: - core networks: - siesa_net healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/health"] interval: 30s timeout: 10s retries: 3 volumes: cache_data: postgres_data: static_data: media_data: networks: siesa_net: driver: bridge