Skip to content

Configuration

octarq is configured entirely through environment variables — the canonical list lives in .env.example. The most important ones:

Core

VariablePurpose
OCTARQ_SECRET_KEYSigns session cookies. Required.
OCTARQ_ADMIN_USERFirst admin username (default admin).
OCTARQ_ADMIN_PASSWORDFirst admin password. Required.
OCTARQ_ADMIN_HOSTRestrict /admin to this hostname (e.g. admin.example.com). Unset = served anywhere.

Database

octarq defaults to pure-Go SQLite (no cgo). Flip to Postgres with two env vars:

VariablePurpose
OCTARQ_DB_DRIVERsqlite (default) or postgres.
OCTARQ_DB_DSNConnection string when using Postgres.

Email inbound

Inbound mail is delivered by the Cloudflare Email Worker (deploy/cloudflare-email-worker.js). It needs one variable — set on the Worker, not on octarq:

Variable (Worker)Purpose
OCTARQ_ENDPOINTYour Inbound Webhook URL, copied from the octarq dashboard (Settings). It already embeds your org’s inbound token — no separate token variable.

GeoIP (optional)

Geo data for click analytics. Easiest path: set a free MaxMind license key and octarq auto-downloads GeoLite2-City into its data dir, reusing the cached file on later starts.

VariablePurpose
OCTARQ_MAXMIND_LICENSE_KEYFree MaxMind key — enables auto-download of GeoLite2-City.
OCTARQ_GEOIP_DBExplicit path to an .mmdb file — takes precedence over the cached/downloaded one. Unset both = geo disabled.

LLM (AI features)

The MCP server’s own tools need no LLM, but Pro Inbox AI does. In the Pro build this is configured from the dashboard (Inbox AI → Configure); the OCTARQ_LLM_* env vars are the fallback.

VariablePurpose
OCTARQ_LLM_PROVIDERclaude, openai, gemini, mistral, cohere, or ollama.
OCTARQ_LLM_API_KEYYour own provider key — octarq never marks up tokens (BYOK).