feat: Update Dockerfile and server configuration for improved health checks and error handling

This commit is contained in:
2026-10-19 23:04:54 +03:00
parent e38c388462
commit 7206bf9c4a
10 changed files with 324 additions and 60 deletions

View File

@@ -27,12 +27,15 @@ services:
# Переживает пересборку образа; удаление тома только замедлит первый запуск.
- psu-data:/app/.data
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:3001/api/health"]
# Здоров = готов: каталог, таблица недель и индекс загружены (/api/ready).
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3001/api/ready').then((r) => process.exit(r.ok ? 0 : 1), () => process.exit(1))"]
interval: 30s
timeout: 5s
retries: 3
# Первый запуск разбирает все документы каталога (около полуминуты).
start_period: 60s
# Первый запуск без кэша скачивает и разбирает все документы каталога;
# с кэшем в томе psu-data сервер готов за несколько секунд.
start_period: 120s
start_interval: 3s
caddy:
image: caddy:2.8.4-alpine