# Global registry prefix (optional)
# GLOBAL_REGISTRY=

# Service versions
# The official pre-built Archon image is currently published as the latest tag.
ARCHON_VERSION=latest
POSTGRES_VERSION=17-alpine

# Timezone
TZ=UTC

# Host port overrides
ARCHON_PORT_OVERRIDE=3000
POSTGRES_PORT_OVERRIDE=5432

# Archon listener settings inside the container
PORT=3000
HOST=0.0.0.0

# AI assistant credentials
# Docker deployments should use explicit credentials instead of relying on host auth.
CLAUDE_USE_GLOBAL_AUTH=false

# Claude OAuth token (recommended for Docker)
CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-xxxxx

# Claude API key (alternative to OAuth token)
# CLAUDE_API_KEY=sk-ant-xxxxx

# Codex tokens (optional alternative assistant)
# CODEX_ID_TOKEN=
# CODEX_ACCESS_TOKEN=
# CODEX_REFRESH_TOKEN=
# CODEX_ACCOUNT_ID=

# Default assistant for new conversations
DEFAULT_AI_ASSISTANT=claude

# Database
# Leave empty to use SQLite at /.archon/archon.db.
# For the local PostgreSQL profile, set:
# DATABASE_URL=postgresql://postgres:postgres@postgres:5432/remote_coding_agent
DATABASE_URL=
POSTGRES_PASSWORD=postgres

# Git provider tokens
# If you use GitHub integrations, set both variables to the same personal access token.
GH_TOKEN=
GITHUB_TOKEN=
WEBHOOK_SECRET=

# GitLab and Gitea integrations (optional)
GITLAB_URL=https://gitlab.com
GITLAB_TOKEN=
GITLAB_WEBHOOK_SECRET=
GITEA_URL=
GITEA_TOKEN=
GITEA_WEBHOOK_SECRET=

# Platform tokens (optional)
TELEGRAM_BOT_TOKEN=
DISCORD_BOT_TOKEN=
SLACK_BOT_TOKEN=
SLACK_APP_TOKEN=

# Additional model provider API keys (optional)
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
OPENROUTER_API_KEY=

# Adapter behavior
BOT_DISPLAY_NAME=Archon
TELEGRAM_STREAMING_MODE=stream
DISCORD_STREAMING_MODE=batch
SLACK_STREAMING_MODE=batch

# Persistence
# Leave these empty to use Docker-managed named volumes.
# ARCHON_DATA=/opt/archon-data
# ARCHON_USER_HOME=/opt/archon-user-home

# Logging and runtime
LOG_LEVEL=info
MAX_CONCURRENT_CONVERSATIONS=10
SESSION_RETENTION_DAYS=30

# Telemetry opt-out (set to 1 to disable)
# DO_NOT_TRACK=1

# Resource limits - Archon app
ARCHON_CPU_LIMIT=2.0
ARCHON_MEMORY_LIMIT=4G
ARCHON_CPU_RESERVATION=0.1
ARCHON_MEMORY_RESERVATION=1G

# Resource limits - PostgreSQL
POSTGRES_CPU_LIMIT=1.0
POSTGRES_MEMORY_LIMIT=1G
POSTGRES_CPU_RESERVATION=0.1
POSTGRES_MEMORY_RESERVATION=256M
