# miti99bot — self-host (Coolify + MongoDB Atlas) environment. # Copy to .env and fill in. .env is gitignored — never commit real secrets. # ============================ Required ============================ # Telegram bot token from @BotFather. TELEGRAM_BOT_TOKEN=123456:ABC-DEF... # MongoDB Atlas connection. MONGO_URL is the full SRV string INCLUDING the # db username + password — treat it as a secret (it is never logged). # Create a least-privilege user: readWrite on this one database only. MONGO_URL=mongodb+srv://botuser:STRONG_UNIQUE_PASSWORD@cluster0.xxxxx.mongodb.net/?retryWrites=true&w=majority MONGO_DATABASE=miti99bot # ============================ Operational ========================= # Comma-separated module list. Empty = load every module, including any module # added later — so list them explicitly when a deployment should only gain a new # module deliberately. `sticker` creates real, durable Telegram sticker sets on # behalf of users, which is worth enabling on purpose rather than by default. MODULES=util,misc,amlich,wordle,loldle,lol,stock,gold,coin,stats,monkeyd,sticker # Telegram user id for owner-only commands (renamed from BOT_OWNER_ID). OWNER_ID= # Comma-separated admin Telegram user ids (renamed from ADMIN_USER_IDS). ADMIN_IDS= # SOURCE_COMMIT (commit SHA) is read at startup for the deploynotify owner DM. # Do NOT set it here. Coolify provides it at runtime. Keep "Include Source # Commit in Build" disabled so Docker layer cache survives across commits. # Local `docker compose up` has none, so deploynotify reports "unknown". # PandaScore API token for the lol module's schedule fetches (free tier at # https://app.pandascore.co/dashboard, no credit card). Secret — never logged. # Without it every /lol* fetch fails; the stale cache covers ≤60 min. LOL_PANDASCORE_TOKEN= # Optional /wheelofnames GIF renderer. Standard deployment: # https://github.com/tiennm99/wheelofnames. Leave blank to fall back to text # selection. WHEELOFNAMES_API_URL= # Bearer token matching the wheelofnames service API_TOKEN when URL is set. WHEELOFNAMES_API_TOKEN= # ====================== Leave UNSET on self-host ================== # Defaults are correct for self-host: # KV_PROVIDER — auto-selects mongodb because MONGO_URL is set # PORT — defaults to 8080 (internal health server) # TELEGRAM_WEBHOOK_SECRET — long polling has no webhook # GOLD_VNAPP_API_KEY — gold module auto-fetches + caches the key to Mongo # Stock/coin/gold URL env overrides are not supported; modules use coded # default providers.