version: '3.9' services: postgres: image: postgres:15-alpine restart: unless-stopped environment: POSTGRES_DB: geo POSTGRES_USER: geo POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-geo123} volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine restart: unless-stopped backend: build: context: ./backend dockerfile: Dockerfile.prod restart: unless-stopped environment: DATABASE_URL: postgresql://geo:${POSTGRES_PASSWORD:-geo123}@postgres:5432/geo REDIS_URL: redis://redis:6379 CRYPTO_KEY: ${CRYPTO_KEY:-change-this-32-char-secret-key!!} ANALYSIS_CONCURRENCY: ${ANALYSIS_CONCURRENCY:-3} depends_on: - postgres - redis frontend: build: context: ./frontend dockerfile: Dockerfile.prod restart: unless-stopped ports: - "8080:80" depends_on: - backend volumes: postgres_data: