4.5 KiB
Настройки окружения
Crank настраивается через переменные окружения. Один и тот же набор переменных используется при запуске из исходников и при запуске готовых Docker-образов.
PostgreSQL
Обязательные параметры:
POSTGRES_HOSTPOSTGRES_PORTPOSTGRES_DBPOSTGRES_USERPOSTGRES_PASSWORD
Параметры пула соединений:
POSTGRES_MAX_CONNECTIONS, по умолчанию20;POSTGRES_MIN_CONNECTIONS, по умолчанию2;POSTGRES_ACQUIRE_TIMEOUT_MS, по умолчанию5000;POSTGRES_IDLE_TIMEOUT_MS, по умолчанию600000;POSTGRES_MAX_LIFETIME_MS, по умолчанию1800000.
Если используется PgBouncer, укажите его адрес в POSTGRES_HOST и порт в POSTGRES_PORT.
HTTP-сервисы
CRANK_ADMIN_BIND- адресadmin-api, например0.0.0.0:3001.CRANK_MCP_BIND- адресmcp-server, например0.0.0.0:3002.CRANK_PUBLISH_BIND- адрес публикации портов в Docker Compose.CRANK_BASE_URL- публичный URL веб-интерфейса.
Для сервера за reverse proxy обычно подходит:
CRANK_PUBLISH_BIND=127.0.0.1
Если reverse proxy работает на другом host:
CRANK_PUBLISH_BIND=0.0.0.0
Авторизация администратора
CRANK_SESSION_SECRET- ключ подписи браузерных сессий.CRANK_PASSWORD_PEPPER- дополнительный секрет для хэширования паролей.CRANK_SESSION_TTL_HOURS- срок жизни сессии в часах.CRANK_BOOTSTRAP_ADMIN_EMAIL- email первого пользователя.CRANK_BOOTSTRAP_ADMIN_PASSWORD- пароль первого пользователя.CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME- отображаемое имя первого пользователя.
Первый пользователь создается или обновляется при старте admin-api.
Шифрование секретов
CRANK_MASTER_KEY- ключ шифрования сохраненных секретов.
Этот ключ нужен admin-api и mcp-server. Если изменить ключ без миграции данных, ранее сохраненные секреты нельзя будет расшифровать.
Демо-данные
CRANK_DEMO_SEED=trueсоздает пример Frankfurter при старте.CRANK_DEMO_SEED=falseотключает demo seed.
Demo seed идемпотентный: повторный старт не создает дубликаты. В стандартном примере создаются upstream Frankfurter, операция frankfurter_latest_rate, агент currency-rates и пример API-ключа.
MCP
CRANK_MCP_REFRESH_MS- как частоmcp-serverобновляет опубликованный каталог инструментов.CRANK_MCP_RATE_LIMIT_RPS- лимит запросов в секунду.CRANK_MCP_RATE_LIMIT_BURST- допустимый короткий всплеск запросов.
Admin API
CRANK_ADMIN_RATE_LIMIT_RPS- лимит запросов в секунду.CRANK_ADMIN_RATE_LIMIT_BURST- допустимый короткий всплеск запросов.
Runtime limits
CRANK_RUNTIME_MAX_CONCURRENT_UNARYCRANK_RUNTIME_MAX_CONCURRENT_WINDOWCRANK_RUNTIME_MAX_CONCURRENT_SESSIONSCRANK_RUNTIME_MAX_CONCURRENT_JOBS
Эти настройки ограничивают параллельное выполнение операций и служебных задач.
Кэш
По умолчанию Crank работает без внешнего кэша:
CRANK_CACHE_BACKEND=memory
Для Valkey или Redis:
CRANK_CACHE_BACKEND=valkey
CRANK_CACHE_URL=redis://valkey:6379/0
CRANK_CACHE_DEFAULT_TTL_MS=60000
Внешний кэш используется для служебного краткоживущего состояния: rate limiting, replay guard и опубликованные каталоги MCP-инструментов.
Логи
CRANK_LOG_LEVEL- уровень логирования, напримерinfo,debug,warn.
Пример:
CRANK_LOG_LEVEL=info