# Production checklist Этот список помогает подготовить Crank к постоянной работе на сервере. ## Перед запуском - Сгенерирован сильный `CRANK_MASTER_KEY`. - Сгенерирован сильный `CRANK_SESSION_SECRET`. - Сгенерирован сильный `CRANK_PASSWORD_PEPPER`. - Задан надежный `CRANK_BOOTSTRAP_ADMIN_PASSWORD`. - `CRANK_BASE_URL` указывает на публичный HTTPS URL. - PostgreSQL доступен с host, где запускаются контейнеры. - Для PostgreSQL настроены бэкапы. - Reverse proxy проксирует `/`, `/api/admin/` и `/mcp/`. - Для `/mcp/` отключено proxy buffering. - Порты опубликованы только там, где нужно: `127.0.0.1` или `0.0.0.0`. ## После запуска - `curl /health` для `admin-api` возвращает `ok`. - `curl /health` для `mcp-server` возвращает `ok`. - UI открывается по публичному домену. - Вход под bootstrap admin работает. - Demo seed создал Frankfurter-пример, если `CRANK_DEMO_SEED=true`. - Тест операции `frankfurter_latest_rate` проходит. - MCP-клиент видит инструмент через агента `currency-rates`. ## Безопасность - Не храните `.env` в Git. - Не передавайте API-ключи агентов в чатах и тикетах. - Выдавайте отдельный ключ на каждого MCP-клиента. - Удаляйте или отзывайте ключи, которые больше не используются. - Используйте secrets/auth profiles для токенов внешних API. - Не вставляйте реальные токены в статические заголовки операции. ## Эксплуатация - Включите мониторинг контейнеров. - Следите за свободным местом на диске. - Проверяйте размер PostgreSQL и директории artifact storage. - Храните бэкапы PostgreSQL отдельно от application host. - Перед обновлением фиксируйте текущие image tags. - После обновления проверяйте UI, Admin API и MCP endpoint.