version: '3.8' services: postgres: image: postgres:15-alpine container_name: pragativeer_db environment: POSTGRES_USER: pragativeer_admin POSTGRES_PASSWORD: local_secure_password_2026 POSTGRES_DB: pragativeer_prod ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data networks: - pragativeer_network healthcheck: test: ["CMD-SHELL", "pg_isready -U pragativeer_admin -d pragativeer_prod"] interval: 5s timeout: 5s retries: 5 redis: image: redis:7-alpine container_name: pragativeer_cache ports: - "6379:6379" volumes: - redisdata:/data networks: - pragativeer_network backend: build: context: ./backend dockerfile: Dockerfile.dev container_name: pragativeer_backend volumes: - ./backend:/app ports: - "8000:8000" environment: - DATABASE_URL=postgresql://pragativeer_admin:local_secure_password_2026@postgres:5432/pragativeer_prod - REDIS_URL=redis://redis:6379/0 - ENV=development env_file: - ./backend/.env depends_on: postgres: condition: service_healthy networks: - pragativeer_network worker: build: context: ./backend dockerfile: Dockerfile.dev container_name: pragativeer_worker command: celery -A worker.celery_app worker --loglevel=info volumes: - ./backend:/app environment: - DATABASE_URL=postgresql://pragativeer_admin:local_secure_password_2026@postgres:5432/pragativeer_prod - REDIS_URL=redis://redis:6379/0 env_file: - ./backend/.env depends_on: - postgres - redis networks: - pragativeer_network beat: build: context: ./backend dockerfile: Dockerfile.dev container_name: pragativeer_beat command: celery -A worker.celery_app beat --loglevel=info volumes: - ./backend:/app environment: - DATABASE_URL=postgresql://pragativeer_admin:local_secure_password_2026@postgres:5432/pragativeer_prod - REDIS_URL=redis://redis:6379/0 env_file: - ./backend/.env depends_on: - postgres - redis networks: - pragativeer_network frontend: build: context: . dockerfile: Dockerfile.dev container_name: pragativeer_frontend ports: - "3000:3000" volumes: - .:/app - /app/node_modules environment: - NEXT_PUBLIC_API_URL=http://localhost:8000 depends_on: - backend networks: - pragativeer_network volumes: pgdata: redisdata: networks: pragativeer_network: driver: bridge