DiscordUptimeTrackerBot is a standalone Discord bot for one job: showing a live uptime tracker from a compatible status API.
- Slash uptime commands
- Active outages listed at the top of the board
- Incident history, with the services each outage affected
- Alerts when a service stops answering and when it starts again
- Live tracker message setup for a guild
- Automatic refresh for tracked messages
- Automatic alert delivery when service states change
- Group buttons for detailed service views
- Lightweight SQLite storage
- Docker image publishing on tagged GitHub releases
/uptime/status/incidents/tracker setup/tracker alerts/tracker refresh/tracker stopalerts/tracker remove
tracker commands require Manage Server, or the instance owner. /uptime,
/status and /incidents are open to any member.
The bot requests no privileged intents.
- Create a virtual environment.
- Install dependencies with
pip install -r requirements.txt. - Copy
.env.exampleto.env. - Set
BOT_TOKEN. - Run
python bot.py.
Build locally:
docker build -t discord-uptime-tracker-bot .Run locally with your env file:
docker run --env-file .env discord-uptime-tracker-botBOT_TOKEN: Discord bot tokenBOT_OWNER_ID: Optional owner overrideGUILD_ID: Optional guild for faster command sync during developmentDATABASE_PATH: SQLite file pathSTATUS_EMOJI: Emoji used for healthy states and presenceBRAND_NAME: Board title. Set it and it wins; leave it unset and the status API's own name is usedREFRESH_MINUTES: Automatic refresh interval in minutes
Use the release script to bump the version, validate the repo, create the release commit and tag, push both, and publish a GitHub release:
bash scripts/release.sh patch
bash scripts/release.sh minor
bash scripts/release.sh majorRequirements:
ghmust be installed and authenticated- Your working tree must be clean
- Run the script from the
mainbranch
For a safe preview, run:
bash scripts/release.sh patch --dry-runPublishing a GitHub release triggers the Docker workflow, which builds and pushes a multi-platform image for linux/amd64 and linux/arm64 to ghcr.io/ibbylabs/discorduptimetrackerbot.
Each release also updates CHANGELOG.md automatically and uses commit subjects since the previous tag for both the changelog entry and the GitHub release notes.