github amayer1983/docksentry v1.63.0
v1.63.0 — Discord bot, Gotify, Matrix, Apprise

latest releases: v1.64.0, v1.63.1
3 hours ago

An interactive Discord bot

Set DISCORD_BOT_TOKEN, DISCORD_APP_ID and DISCORD_GUILD_ID and you get slash commands for the things you'd otherwise open the Web UI for — /status, /check, /update, /restart, /logs, /pin, /history and a dozen more, across every managed host.

It's a second front-end onto the same update engine the Telegram bot and Web UI already use: one update lock, one set of rules. That's what the internal reshuffling of the last few releases was for, and it's why this took hours rather than weeks.

/stop and /updateall ask with a button before doing anything. Replies are visible only to the person who ran the command, because a container listing names your internal services. DISCORD_GUILD_ID is required — it's what restricts the bot to your server, and without it the bot refuses to start; DISCORD_ALLOWED_USERS narrows it further, and the commands register as Administrator-only.

Being straight about this one: it's new, as in written today. It went through a security review that found a real hole — the first cut had no authorisation at all — which is fixed and tested, but the code is young and one person has used it for ten minutes. It does nothing at all unless you set those variables. Treat it as experimental and tell me what breaks.

Note it needs a bot token, which is a different thing from the DISCORD_WEBHOOK used for notifications. You can run both.

Three more notification channels

  • Gotify — self-hosted push. Failed updates go out at priority 8, which its app treats as loud and lets through quiet hours; everything else at 5.
  • Matrix — messages carry both a plain-text and an HTML body, so formatting-capable clients render it and the rest still read fine.
  • Apprise — the interesting one. Point Docksentry at a self-hosted Apprise container and it fans out to Pushover, Signal, Rocket.Chat, Mattermost, SMS gateways and ~100 other services Docksentry has no code for. One setting, everything else is Apprise's problem.

All three were built against a real server of their own and checked by reading the message back off it, not against a mock.

Fixed

  • Crash-restart alerts now say what exited and when. They used to read "🔁 name crashed and was restarted (restart #1)" — no exit code, no time — which is indistinguishable from your own docker stop if you're shutting things down at that moment. Now: "crashed (exit 1) and was restarted by its restart policy at 16:19:25". Reported by @famewolf in #2, who spent an exchange proving the alert wasn't about his shutdown.
  • The Web UI can act on any host, not just the local one, and a dropdown filters the table by host.
  • A pre-release will never move the latest tag again. Any v* tag used to publish :latest, so an rc or beta would have been pulled overnight by everyone running docksentry:latest with auto-self-update, without being asked. Trying a pre-release is now a deliberate act: pin the version tag.

Nothing here activates unless you configure it. On a single host with no Discord and no new channels, the only change you'll notice is the wording of that crash alert.

Don't miss a new docksentry release

NewReleases is sending notifications on new releases.