Skip to main content

Configuration

Canonical inventory

Provider and channel catalog sizes: Capability inventory.

Carina reads environment variables from ~/.carina/.env (global CLI) or a project .env when running from source. Copy core.carinaai.uk/.env.example as a template.

Core

VariableRequiredDefaultDescription
DEFAULT_PROVIDERNodeepseekPrimary LLM: deepseek, anthropic, or openai
DEEPSEEK_API_KEYIf using DeepSeek-From platform.deepseek.com
ANTHROPIC_API_KEYIf using Claude-From console.anthropic.com
OPENAI_API_KEYIf using GPT-4o-From platform.openai.com
GEMINI_API_KEYRecommended-Embeddings (text-embedding-004, 768 dims). From aistudio.google.com
DATABASE_URLYes (for memory)postgresql://localhost:5432/carinaPostgreSQL with pgvector
REDIS_URLNoredis://localhost:6379Session persistence; Scout kill-switch pub/sub
ACTIVE_SKILL_PACKSComma-separated packs (e.g. finance,legal-uk). Leave empty for general-purpose mode.
ACTIVE_SKILL_PACKLegacy alias for a single pack name
SKILL_AUTO_WRITENoenabledSet to false to disable auto skill documents after complex tasks
CARINA_HOMENo~/.carinaConfig and data directory

Tools

VariableRequiredDefaultDescription
TAVILY_API_KEYFor web-search-Free tier at tavily.com (~1,000 credits/month)
SEARCH_PROVIDERNotavilytavily, auto, or brave (Brave is paid-only)
TAVILY_SEARCH_DEPTHNobasicbasic or advanced
BRAVE_SEARCH_API_KEYOptional paid fallback-Paid: brave.com/search/api
RESEND_API_KEYFor email tools-From resend.com
PROPERTY_DATA_API_KEYFor property-uk pack-PropertyData API (prices, yields, comparables)
LAND_REGISTRY_API_KEYFor property-uk pack-Land Registry lookup tool

Gateways

VariableRequiredDefaultDescription
WEB_ENABLEDNotrueSet false to disable web UI
WEB_PORTNo3000Web UI and API port (PORT is an alias)
TELEGRAM_BOT_TOKENFor Telegram-From @BotFather
TELEGRAM_WEBHOOK_URLNo-Webhook URL if not using polling
TWILIO_ACCOUNT_SIDFor WhatsApp-Twilio account SID
TWILIO_AUTH_TOKENFor WhatsApp-Twilio auth token
TWILIO_WHATSAPP_FROMFor WhatsApp-Sandbox or approved WhatsApp sender
SKIP_CLINo-Set true to skip interactive CLI (servers/containers)
CORS_ORIGINNo*Allowed origin for web API

Labyrinth Scout

VariableRequiredDefaultDescription
LABYRINTH_ENABLEDNofalseEnable Scout reporting and security middleware
LABYRINTH_URLIf Scout enabledhttp://localhost:4444 (self-hosted)Scout server base URL. Hosted subscribers: use the URL from your provisioning email.
LABYRINTH_API_KEYIf Scout enabled-API key from provisioning email or Scout Security tab (Carina Cloud)
LABYRINTH_INSTANCE_IDIf Scout enabledcarina-localUnique instance id ( [a-z0-9_-]+ )
LABYRINTH_INSTANCE_NAMENoCarina LocalDisplay name in Scout dashboard
LABYRINTH_LLM_ROUTER_URLNohttp://localhost:3000OpenAI-compatible router for prompt judge
LABYRINTH_JUDGE_MODELNodeepseek/deepseek-chatModel id for layer-3 injection classifier

When Scout is enabled, Carina also respects client-side policy env vars documented in Scout docs: SCOUT_BLOCKLIST, SCOUT_RATE_LIMIT_MINUTE, SCOUT_RATE_LIMIT_HOUR, SCOUT_ALLOWED_DOMAINS.

Hosted mode (Carina Cloud)

VariableRequiredDefaultDescription
HOSTED_MODENofalseEnable JWT auth and Stripe billing routes
JWT_SECRETIf hostedchange-me-in-productionSession signing secret
STRIPE_SECRET_KEYIf hosted-Stripe API key
STRIPE_WEBHOOK_SECRETIf hosted-Stripe webhook signing secret

Skills Hub

VariableRequiredDefaultDescription
SKILLS_HUB_URLNohttps://skills.carinaai.ukPublic hub URL
SKILLS_HUB_PORTNo3001Hub server port when self-hosting
SKILLS_HUB_DATABASE_URLNopostgresql://localhost:5432/carina_skills_hubHub Postgres database
SKILLS_HUB_PUBLISH_KEYFor publishing-API key for POST /packs

Browse the registry with carina hub browse, carina hub packs, and carina hub skills. The hub web UI and JSON APIs live at /, /api/registry, /api/packs, and /api/skills.