ADMIN_USER_IDS (Telegram:AdminUserIds) takes a comma separated list; the older ADMIN_USER_ID / Telegram:AdminUserId still works, also takes a list and is merged. Empty entries and duplicates are ignored, non-numeric entries fail validation. Impersonation is now per admin: one admin per target, an impersonating admin can't be impersonated, and every admin's chat menu lists /impersonate.
50 lines
2.1 KiB
Plaintext
50 lines
2.1 KiB
Plaintext
# Copy to .env for `docker compose up -d --build`. On Coolify, set these as the resource's environment variables.
|
|
# Never add ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL, CLAUDE_CODE_OAUTH_TOKEN,
|
|
# CLAUDE_CODE_USE_BEDROCK or CLAUDE_CODE_USE_VERTEX: the Claude Code provider is subscription-only and refuses to run.
|
|
|
|
# Required. Allowed Telegram user ids, comma separated; the first one is the owner (re-login prompts, "Online").
|
|
TELEGRAM_BOT_TOKEN=
|
|
TELEGRAM_ALLOWED_USER_IDS=
|
|
|
|
# Admins: Telegram user ids that may /impersonate other users, comma separated (empty = off). All admins have the
|
|
# same rights. The older single-id ADMIN_USER_ID still works (it also takes a list); the two are merged.
|
|
ADMIN_USER_IDS=
|
|
|
|
# Model every chat uses (empty = the compose default), log level, container time zone.
|
|
TELEGRAM_MODEL=
|
|
LOG_LEVEL=Information
|
|
TZ=UTC
|
|
|
|
# Build: Playwright MCP + Chromium in the image (~+400 MB); Claude Code version (2.1 = newest 2.1.x at build time).
|
|
INSTALL_PLAYWRIGHT=true
|
|
CLAUDE_CODE_VERSION=2.1
|
|
|
|
# Speech to text for voice notes (empty = off).
|
|
OPENAI_API_KEY=
|
|
STT_MODEL=
|
|
|
|
# Google Calendar (both set = on; each chat connects its own account with /calendar_connect).
|
|
GOOGLE_CLIENT_ID=
|
|
GOOGLE_CLIENT_SECRET=
|
|
|
|
# Default time zone for chats that never ran /timezone (IANA name, e.g. Europe/Berlin; empty = TZ).
|
|
DEFAULT_TIMEZONE=
|
|
|
|
# A2A (docs/a2a.md). Server: other agents call this bot on port 8080 (needs a domain in Coolify); the public URL is
|
|
# also where remote agents push updates for our own watches. Client: the a2a tool in each chat. Both default to false.
|
|
A2A_ENABLED=
|
|
A2A_PUBLIC_URL=
|
|
A2A_CLIENT_ENABLED=
|
|
|
|
# Deny-listed variables the agent's processes may see anyway, comma separated (e.g. GH_TOKEN).
|
|
PROCESS_ENV_ALLOW=
|
|
|
|
# Playwright MCP preset; empty = compose defaults (enabled, headless, chromium, --no-sandbox, playwright-mcp).
|
|
# An override of PLAYWRIGHT_EXTRA_ARGS must keep --no-sandbox.
|
|
# An image built with INSTALL_PLAYWRIGHT=false also needs PLAYWRIGHT_ENABLED=false.
|
|
PLAYWRIGHT_ENABLED=
|
|
PLAYWRIGHT_HEADLESS=
|
|
PLAYWRIGHT_BROWSER=
|
|
PLAYWRIGHT_EXTRA_ARGS=
|
|
PLAYWRIGHT_COMMAND=
|