services: ixg-postgres: image: postgres:15-alpine container_name: ixg-platform-db restart: unless-stopped networks: - client-infra volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: ixg_platform POSTGRES_USER: postgres POSTGRES_PASSWORD: GYV9G8IuEbcTr39k2NxGbcLpYilD1mvhSmkPFuCs2fM= ports: - "127.0.0.1:5433:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 ixg-redis: image: redis:7-alpine container_name: ixg-platform-redis restart: unless-stopped networks: - client-infra ports: - "127.0.0.1:6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 5 app: build: . container_name: ixg-platform-app restart: unless-stopped networks: - client-infra depends_on: ixg-postgres: condition: service_healthy ixg-redis: condition: service_healthy volumes: - .:/app - ./staticfiles:/app/staticfiles - ./media:/app/media - ./documents:/data/ixg-documents env_file: - ./config/secrets/env.production environment: DB_HOST: ixg-postgres DB_PORT: 5432 ports: - "0.0.0.0:8000:8000" celery_worker: build: . container_name: ixg-platform-celery-worker restart: unless-stopped networks: - client-infra depends_on: - ixg-postgres - ixg-redis volumes: - .:/app - ./documents:/data/ixg-documents env_file: - ./config/secrets/env.production environment: DB_HOST: ixg-postgres DB_PORT: 5432 command: celery -A dsp_platform worker -l info celery_beat: build: . container_name: ixg-platform-celery-beat restart: unless-stopped networks: - client-infra depends_on: - ixg-postgres - ixg-redis volumes: - .:/app env_file: - ./config/secrets/env.production environment: DB_HOST: ixg-postgres DB_PORT: 5432 command: celery -A dsp_platform beat -l info volumes: postgres_data: networks: client-infra: external: true