63 lines
1.7 KiB
YAML
63 lines
1.7 KiB
YAML
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
|