All configuration is environment variables, and the single source of truth is
.env.example
— every variable is documented inline where it is defined. Copy it and edit:
Never commit .env to source control.
| Variable |
Default |
Notes |
ARTA_LLM_PROVIDER |
ollama |
ollama | anthropic | google_gemini | openai |
ARTA_LLM_MODEL |
qwen2.5:32b |
Model name for the chosen provider |
OLLAMA_BASE_URL |
http://localhost:11434 |
Local Ollama endpoint |
ANTHROPIC_API_KEY |
— |
Only when ARTA_LLM_PROVIDER=anthropic |
| Variable |
Notes |
ARTA_API_KEY |
Required for admin endpoints — change the placeholder |
ARTA_BOOTSTRAP_ADMIN_EMAIL / ARTA_BOOTSTRAP_ADMIN_PASSWORD |
First-run admin, created only when the users table is empty; unset after first login |
ARTA_DEMO_MODE |
1 = no-database demo login (admin@arta.dev / demo1234) — never in production |
| Variable |
Notes |
DATABASE_URL |
The primary secret — contains the Postgres password; keep in sync with POSTGRES_PASSWORD |
POSTGRES_* |
Needed for the Postgres service to initialize at bootstrap |
NEO4J_* |
Traceability graph credentials |
REDIS_PASSWORD / REDIS_URL |
Blank password is local-dev only; set a strong one for staging/prod |
| Variable |
Default |
Notes |
ARTA_API_HOST_PORT |
38087 |
Host-side API port mapping (container-internal port stays 8000) |
| CORS origins |
— |
Comma-separated allowed origins for the API |
| Variable |
Default |
Notes |
ARTA_TELEMETRY |
1 |
0 = zero network calls (air-gap safe); fields documented in docs/TELEMETRY.md |
ARTA_TELEMETRY_EXTENDED |
off |
Opt-in Tier-2 events |
| Variable |
Notes |
JIRA_HOST / JIRA_USER / JIRA_API_TOKEN |
Jira import + auto-filing of sut_regression defects |
SUT-specific behavior — base URLs, auth, discovery settings, provider
overrides — belongs in project configuration in the UI, never hard-coded.
That is a project policy, not just a convention: core code with SUT-specific
defaults is rejected in review.