|
Docker-деплой готов к проде (ТЗ 0.33, M7)
- nginx: client_max_body_size 20m (вложения до 10 МБ падали бы с 413), HTTP/1.1-апстрим с keepalive и без буферизации для /api/ и /mcp/ (SSE), кэш хэшированной статики на год, gzip - compose: убраны контейнеры ollama/ollama-init (Ollama — внешний сервер, OLLAMA_BASE_URL из .env); restart для db; healthcheck api через /api/health (start_period 30s на миграции); модель по умолчанию согласована с конфигом (qwen3.5:2b-q4_K_M, открытый вопрос ТЗ 8.5 закрыт) - mcp_server: FastMCP пропускал только Host localhost — в проде за nginx /mcp отвечал 421; разрешённый Host берётся из GAUTH_REDIRECT_URI (dev-поведение не изменилось, защита от DNS-rebinding сохранена) - README: раздел «Деплой» — шаги, внешний TLS-прокси, лимит тела, буферизация SSE, почему 1 воркер uvicorn - ТЗ 0.33: TLS — внешний reverse-proxy; Ollama — внешний сервер Проверено локально полным стеком (db+api+web на :8135): сборка образов, SPA/health/SSO-редирект/413/gzip/MCP-флоу (initialize → tools/call), MCP с чужим Host — 421. 117 backend-тестов, mypy, ruff — чисто. Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| .env.example |
|---|
| README.md |
|---|
| backend/app/mcp_server.py |
|---|
| docker-compose.yml |
|---|
| docs/TZ.md |
|---|
| frontend/nginx.conf |
|---|