Enhance the bot's architecture by introducing sharding capabilities, allowing for better scalability and performance. Update environment files to include sharding options, and modify the bot's core logic to handle shard connections and latencies. Implement shard-specific logging and API synchronization, ensuring that only the primary shard performs certain tasks. Update API schemas and routes to reflect shard information, improving the overall status reporting and monitoring of the bot's performance across multiple shards.
51 lines
1.7 KiB
Plaintext
51 lines
1.7 KiB
Plaintext
# ── Docker Compose (.env) — copy to .env in the repo root ─────────────────────
|
|
# cp .env.docker.example .env
|
|
|
|
# Discord Bot
|
|
TOKEN=TOKEN_HERE
|
|
brand_name=Axiom
|
|
OWNER_IDS=YOUR_DISCORD_USER_ID_HERE
|
|
DASHBOARD_ADMIN_IDS=YOUR_DISCORD_USER_ID_HERE
|
|
|
|
# Sharding — leave unset for auto (recommended). Multi-process: same TOKEN, shared bot-db volume.
|
|
# SHARD_COUNT=
|
|
# SHARD_IDS=0,1
|
|
# SHARD_PRIMARY=
|
|
# Enable API only on the primary shard process.
|
|
|
|
# Shared secret — must match between bot API and dashboard
|
|
DASHBOARD_API_KEY=generate_a_long_random_secret_here
|
|
|
|
# Lavalink (optional music)
|
|
LAVALINK_HOST=lavalink.jirayu.net
|
|
LAVALINK_PASSWORD=youshallnotpass
|
|
LAVALINK_SECURE=false
|
|
LAVALINK_PORT=13592
|
|
|
|
EMOJI_SYNC=false
|
|
JISHAKU_ENABLED=false
|
|
|
|
# Slash (/) command sync — use ONE mode to avoid duplicate commands in Discord
|
|
SLASH_SYNC_MODE=global
|
|
SLASH_CLEAR_GUILD_COMMANDS=true
|
|
# SLASH_GUILD_IDS=
|
|
|
|
# Traefik (optional override — default in compose: letsencrypt)
|
|
# TRAEFIK_CERT_RESOLVER=letsencrypt
|
|
|
|
# ── Dashboard / NextAuth ──────────────────────────────────────────────────────
|
|
NEXTAUTH_SECRET=generate_a_long_random_secret_here
|
|
DISCORD_CLIENT_ID=
|
|
DISCORD_CLIENT_SECRET=
|
|
# Optional: Discord permission bitfield for /api/invite (default: 8 = Administrator)
|
|
# DISCORD_BOT_PERMISSIONS=8
|
|
|
|
# Same Discord user IDs as owners/admins (comma-separated)
|
|
ADMIN_IDS=YOUR_DISCORD_USER_ID_HERE
|
|
NEXT_PUBLIC_ADMIN_IDS=YOUR_DISCORD_USER_ID_HERE
|
|
NEXT_PUBLIC_BRAND_NAME=Axiom
|
|
NEXT_PUBLIC_BRAND_NAME_WORD=AX
|
|
|
|
# Discord OAuth Redirect URL in the Discord Developer Portal:
|
|
# https://bot.hexahost.de/api/auth/callback/discord
|