version: '3.8' services: # ============================================================================ # Web UI (Flask) # ============================================================================ web: build: context: . target: web container_name: stegasoo-web ports: - "5000:5000" environment: - FLASK_ENV=production restart: unless-stopped deploy: resources: limits: memory: 768M # Increased for scipy + Argon2 reservations: memory: 384M # ============================================================================ # REST API (FastAPI) # ============================================================================ api: build: context: . target: api container_name: stegasoo-api ports: - "8000:8000" restart: unless-stopped deploy: resources: limits: memory: 768M # Increased for scipy + Argon2 reservations: memory: 384M # ============================================================================ # Nginx Reverse Proxy (optional, for production) # ============================================================================ # nginx: # image: nginx:alpine # container_name: stegasoo-nginx # ports: # - "80:80" # - "443:443" # volumes: # - ./nginx.conf:/etc/nginx/nginx.conf:ro # - ./certs:/etc/nginx/certs:ro # depends_on: # - web # - api # restart: unless-stopped # ============================================================================ # Development overrides # ============================================================================ # Use: docker-compose -f docker-compose.yml -f docker-compose.dev.yml up