# ─── Runic Gateway Discord bot — local dev environment ─── # Copy to bot/.env for running `npm run dev` outside Docker. # (In Docker, the root .env / docker-compose provides these instead.) # # NOTE: there is no Discord bot token here on purpose. The token is entered # in the admin panel (Discord Bot page), stored encrypted in the main site's # DB, and pushed to this process in-memory over the internal API. It is # never read from an env var and never written to this process's disk. PORT=4100 # Logging — written to BOTH the console and a log file (default /logs/bot.log). LOG_LEVEL=debug # console verbosity: error | warn | info | debug FILE_LOG_LEVEL=debug # file verbosity LOG_TO_FILE=true # set false for console-only # LOG_DIR= # defaults to bot/logs # LOG_FILE=bot.log # Shared secret for the internal API between this bot and the main site # (server/). MUST be byte-for-byte identical to BOT_INTERNAL_KEY in # server/.env.example / the root .env.example — it is the only auth on both # sides' /internal/* routes, so a mismatch silently breaks every server<->bot # call with 401s. Generate one long random string and copy it to both places. BOT_INTERNAL_KEY=dev-only-change-me-bot-key # Where this bot calls back to the main site to fetch its config on boot # (GET .../internal/bot-config), so a restart self-reconnects without needing # the admin panel to push config again. This targets the site's UNPUBLISHED # internal port (INTERNAL_PORT, default 3001) — NOT the public 3000. See #33. SITE_INTERNAL_URL=http://localhost:3001/internal/bot-config # Read-only PUBLIC API base (Phase 7) — no shared secret, same data any # visitor's browser can fetch. Used by /wiki (search) and /announce # (re-post an existing news item). SITE_PUBLIC_URL=http://localhost:3000/api/v1/public # Database (Phase 2+) — same physical DB as the main site, but the bot only # ever reads/writes its OWN tables (guild_config, mod_actions, warnings, and # more in later phases). It never touches site tables (users, bot_config, # etc.) directly. Point this at the same DB the server/ uses. DB_HOST=127.0.0.1 DB_PORT=3306 DB_NAME=runic_gateway DB_USER=runic DB_PASSWORD=change-me-db-password