services: app: build: context: . dockerfile: Dockerfile # Postgres — внешний (не в compose), см. ConnectionStrings__Default в .env. env_file: - .env environment: ASPNETCORE_ENVIRONMENT: Production ASPNETCORE_HTTP_PORTS: '8085' healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:8085/health'] interval: 15s timeout: 5s start_period: 20s retries: 5 ports: - '8085:8085' # Медиахранилище: диск sdb смонтирован на хосте в /srv/telewave/media (см. # docs/server-storage-setup.md), пробрасывается как /media внутрь контейнера. volumes: - /srv/telewave/media:/media # Явный лимит памяти: RAM в VM динамическая, а .NET настраивает GC по видимой при старте — # детерминированный cgroup-лимит + предсказуемый выбор OOM-killer при транскоде. mem_limit: 3g restart: unless-stopped logging: driver: json-file options: max-size: '10m' max-file: '3'