Abider
Abider is a far out Discord bot. It can be used by system administrators to have a little instance somewhere (a container, specifically), and to run shell commands from it.
It's packaged with Debian and Alpine containers, and a docker-compose.yaml
and Helm Chart.
After the uh... what-have-you and before you go to the In-N-Out Burger, check it out:
- See these links:
- There are no Bot Permissions required, but you will need to enabled Message Content Intent
- Images are offered in:
- Debian (Bookworm) (https://github.com/DaemonDude23/abider/pkgs/container/abider%2Fdebian)
- Alpine (3.18) (https://github.com/DaemonDude23/abider/pkgs/container/abider%2Falpine).
- As always, never use the
latest
tag in production. There are more tags available.
- A Kubernetes Helm Chart is provided in this repository.
helm repo add abider https://daemondude23.github.io/abider
- A
docker-compose.yml
file is available as well:
- The container is built with these linux architectures:
linux/amd64
linux/arm64
- The container runs as a non-
root
user with UID/GID of405
. - All privileges are dropped.
Configuration is done through environment variables except the logging format, which is a YAML:
Environment Variable | Default | Type | Description |
---|---|---|---|
ABIDER_DISCORD_CHANNEL_ID |
"" |
str |
Required - Defines the Discord Channel ID. |
ABIDER_SUBPROCESS_TIMEOUT |
"30" |
str |
Optional - Defines how long to wait before aborting command execution. |
ABIDER_DEBUGPY |
N/A | str |
Optional - Set to "enabled" to use debugpy for remote debugging (along with a manually created image which contains that module). |
ABIDER_DEBUGPY_WAIT |
N/A | str |
Optional - Set to "enabled" if using debugpy for remote debugging, this will wait for it to connect so you can debug initialization. |
ABIDER_WEEKDAY |
N/A | str |
Optional - Set to "enabled" so the bot communicates more professionally and not at all Dude-like. |
- Modify the Dockerfiles here or here depending on your desired OS: ./src/Dockerfile-debian.
- By default, the
curl
package is added so just expand on that section of the file to suit your needs.
- By default, the
See ./docs/dev.md for easy ways to set up a dev environment for contribution.