From 8379d734ddf058f8468f013ed057b65080d15bcb Mon Sep 17 00:00:00 2001 From: erjemin Date: Sat, 11 Apr 2026 14:07:40 +0300 Subject: [PATCH] =?UTF-8?q?add:=20Healthcheck=20b=20=D0=BB=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.prod.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 52ec81c..c85e2a1 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -65,15 +65,34 @@ services: # Медиа (папка media должна быть создана на хосте) - ./media:/app/media + # Переменные окружения env_file: - .env + # Логирование (Ротация) logging: driver: "json-file" options: max-size: "10m" max-file: "3" + # Проверка здоровья контейнера (Healthcheck) + # Docker будет периодически проверять статус контейнера. Это критично для Watchtower! + # Если контейнер объявлен "unhealthy", Watchtower сначала остановит старый образ, потом запустит новый. + healthcheck: + test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/').read()\""] + interval: 5m + timeout: 10s + retries: 1 + start_period: 30s + + # Лимиты ресурсов (docker compose вне swarm) + deploy: + resources: + limits: + cpus: '0.40' + memory: 360M + # Nginx для отдачи статики и проксирования запросов к бэкенду etpgrf-nginx: image: nginx:1.25-alpine