Discord bot for GL.iNet community operations with invite/code role access, moderation tools, search helpers, firmware monitoring, and a secured web admin GUI.
Detailed feature behavior, deployment options, environment variables, proxy variations, and security guidance are maintained in the wiki.
- Wiki home:
wiki/Home.md - GitHub wiki page: https://github.com/wickedyoda/Glinet_discord_bot/blob/main/wiki/Home.md
- Public repo landing redirect target: http://discord.glinet.wickedyoda.com/
- Public wiki redirect target: http://discord.glinet.wickedyoda.com/wiki
- Copy env template:
cp .env.example .env- Set required values in
.env:
DISCORD_TOKENGUILD_IDWEB_ADMIN_DEFAULT_PASSWORD(required when no web users exist yet)
- Start:
docker compose up -d --build- Open web admin:
http://localhost:8080
- Native local builds (
docker compose up -d --build) run on the host architecture (Apple Siliconarm64or Intel/AMDamd64). - Published GHCR images are built as a multi-arch manifest for:
linux/amd64linux/arm64
- Optional multi-arch publish command:
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t ghcr.io/<owner>/discord_invite_bot:multiarch-test \
--push \
.- Optional host-native local test image command:
docker compose build- Role access via invite links and 6-digit access codes
- Bulk CSV role assignment
- Dynamic tag responses (
!tag+ slash variants) - GL.iNet forum/docs search commands
- Country nickname suffix commands
- Extended moderation commands and event logging
- Firmware monitor (baseline + delta notifications)
- Web admin GUI (admin/read-only users, command permissions, bot profile, settings)
- SQLite persistence with legacy merge import on startup
- Full command list and role restrictions:
wiki/Command-Reference.md - Web admin pages and workflows:
wiki/Web-Admin-Interface.md - Environment variables (complete):
wiki/Environment-Variables.md - Docker and Portainer deployment variants:
wiki/Docker-and-Portainer-Deploy.md - Reverse proxy setups (Nginx, Caddy, Traefik, Apache, HAProxy):
wiki/Reverse-Proxy-Web-GUI.md - Security controls and hardening checklist:
wiki/Security-Hardening.md - Data and log file layout:
wiki/Data-Files.md
- Primary DB:
${DATA_DIR}/bot_data.db - App log:
${LOG_DIR}/bot.log - Bot channel mirror log:
${LOG_DIR}/bot_log.log - Error log used by
/logs:${LOG_DIR}/container_errors.log - Web GUI interaction audit log:
${LOG_DIR}/web_gui_audit.log
Defaults:
DATA_DIR=dataLOG_DIR=/logsLOG_HARDEN_FILE_PERMISSIONS=true(enforces0700on log dir and0600on log files when possible)LOG_RETENTION_DAYS=90LOG_ROTATION_INTERVAL_DAYS=1
- No public web signup; web users are admin-created.
- Password policy and 90-day password rotation are enforced.
- CSRF and session hardening are enabled by default.
- Deployment hardening guidance:
wiki/Security-Hardening.md - Discord developer terms: https://support-dev.discord.com/hc/en-us/articles/8562894815383-Discord-Developer-Terms-of-Service
Use complete commit and PR descriptions for all changes.
- Contributor guide:
CONTRIBUTING.md
- License text:
LICENSE - Additional rights/policy summary:
LICENSE.md
Created and maintained by WickedYoda
Support Discord: https://discord.gg/m6UjX6UhKe

