services: app: build: . image: forbidden-stars:latest restart: unless-stopped init: true env_file: - .env # секреты/настройки (один общий формат для dev и prod) environment: # Прод обособлен: контейнер ВСЕГДА production и ИГНОРИРУЕТ APP_ENV из .env # (хоть development, хоть test). БД=/data, STATIC_DIR=/app/static — из Dockerfile. APP_ENV: production ports: - "8000:8000" volumes: - db-data:/data # БД SQLite + WAL-сайдкары - uploads-data:/data/uploads # задел под фото/видео healthcheck: test: - CMD - python - -c - "import urllib.request; urllib.request.urlopen('http://localhost:8000/api/health')" interval: 30s timeout: 5s retries: 3 start_period: 40s mem_limit: 512m cpus: 1.5 logging: driver: json-file options: max-size: "10m" max-file: "5" volumes: db-data: uploads-data: