Skip to content

Configuration ​

All configuration is done through environment variables (.env in the project root, or your process manager / docker compose environment).

Database ​

VariableDefaultDescription
DATABASE_URLpostgresql://aeoscope:aeoscope@localhost:5432/aeoscopePostgres connection string

The app applies its migrations automatically on startup.

Engine API keys (BYOK) ​

Each hosted engine is enabled by setting its key; engines without a key are shown as unavailable in Settings.

VariableEnables
OPENAI_API_KEYOpenAI (ChatGPT)
PERPLEXITY_API_KEYPerplexity
GEMINI_API_KEYGoogle Gemini
ANTHROPIC_API_KEYAnthropic (Claude)

The mock engine needs no key.

Model overrides ​

Every engine has a sensible default model. Override per engine:

VariableDefault
OPENAI_MODELgpt-4o-mini
PERPLEXITY_MODELsonar
GEMINI_MODELgemini-3.8-flash
GEMINI_SEARCHoff - set true to ground Gemini in live Google Search (adds source citations, billed by Google beyond its free tier)
ANTHROPIC_MODELclaude-sonnet-4-5
OLLAMA_MODELllama3.2
CUSTOM_MODELlocal-model

Local servers ​

VariableDefaultDescription
OLLAMA_BASE_URLhttp://127.0.0.1:11434Ollama address
CUSTOM_BASE_URL-OpenAI-compatible base URL, e.g. http://localhost:1234/v1 for LM Studio. Setting it enables the Custom engine. When aeoscope runs in Docker and the server runs on your machine, use http://host.docker.internal:<port>/v1 instead of localhost
CUSTOM_API_KEY-Only needed if your server requires auth

See Local models for per-tool examples, model identifiers, and the Docker notes.

Scheduler and cron endpoint ​

VariableDefaultDescription
CRON_SECRET-Protects POST /api/cron. The endpoint is disabled when unset
AEOSCOPE_SCHEDULERonSet to off to disable the built-in scheduler

See Scheduling.