POSTGRES_DB=crank POSTGRES_USER=crank POSTGRES_PASSWORD=change-me POSTGRES_HOST=postgres POSTGRES_PORT=5432 POSTGRES_MAX_CONNECTIONS=20 POSTGRES_MIN_CONNECTIONS=2 POSTGRES_ACQUIRE_TIMEOUT_MS=5000 POSTGRES_IDLE_TIMEOUT_MS=600000 POSTGRES_MAX_LIFETIME_MS=1800000 CRANK_ADMIN_API_IMAGE=crank/admin-api:dev CRANK_MCP_SERVER_IMAGE=crank/mcp-server:dev CRANK_UI_IMAGE=crank/ui:dev CRANK_STORAGE_ROOT=/var/lib/crank/storage CRANK_PUBLISH_BIND=127.0.0.1 CRANK_ADMIN_BIND=0.0.0.0:3001 CRANK_ADMIN_RATE_LIMIT_RPS=30 CRANK_ADMIN_RATE_LIMIT_BURST=60 CRANK_MCP_BIND=0.0.0.0:3002 CRANK_MCP_REFRESH_MS=5000 CRANK_MCP_RATE_LIMIT_RPS=60 CRANK_MCP_RATE_LIMIT_BURST=120 CRANK_RUNTIME_MAX_CONCURRENT_UNARY=64 CRANK_RUNTIME_MAX_CONCURRENT_WINDOW=16 CRANK_RUNTIME_MAX_CONCURRENT_SESSIONS=16 CRANK_RUNTIME_MAX_CONCURRENT_JOBS=16 # Публичные узлы разрешены по умолчанию. Для внутренних API перечислите # допустимые имена или IP через запятую. CRANK_OUTBOUND_ALLOWED_HOSTS= CRANK_OUTBOUND_DENIED_HOSTS= CRANK_OUTBOUND_MAX_RESPONSE_BYTES=4194304 CRANK_LOG_LEVEL=info CRANK_MASTER_KEY=change-me-master-key CRANK_SESSION_SECRET=change-me-session-secret CRANK_PASSWORD_PEPPER=change-me-password-pepper CRANK_SESSION_TTL_HOURS=24 # Trust X-Real-IP / X-Forwarded-For for client rate limiting. Enable only when # admin-api runs behind the bundled nginx (or another trusted reverse proxy). CRANK_TRUST_FORWARDED_HEADERS=true CRANK_BOOTSTRAP_ADMIN_EMAIL=owner@crank.local CRANK_BOOTSTRAP_ADMIN_PASSWORD=change-me-admin-password CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME=Crank Owner CRANK_DEMO_SEED=true CRANK_BASE_URL=https://crank.example.com