Using Shoutrrr as a Docker Container¶
Overview¶
The Shoutrrr Docker image provides a lightweight containerized version of the Shoutrrr CLI. It supports all architectures (amd64, arm64, arm/v6, i386, riscv64) and is available on Docker Hub (nickfedor/shoutrrr) and GHCR (ghcr.io/nicholas-fedor/shoutrrr). Tags include latest (stable production), versioned tags (e.g., v0.8.0), and nightly (rolling release).
Usage¶
docker pull nickfedor/shoutrrr:latest
docker pull ghcr.io/nicholas-fedor/shoutrrr:latest
Run Shoutrrr CLI commands inside the container using docker run.
The entrypoint is /shoutrrr, so commands like send, generate, verify work directly.
| Tag Examples | Description |
|---|---|
latest |
Latest stable release. |
vX.Y.Z |
Specific version (e.g., v0.8.0). |
nightly |
Latest rolling release. |
amd64-latest |
Platform-specific (e.g., amd64, arm64v8). |
Note
The image includes CA certificates and timezone data. No volumes are required by default, but mount if needed for custom configs or stdin input. Environment variables can override flags (e.g., SHOUTRRR_URL for --url).
Environment Variables¶
- Use uppercase flag names prefixed with
SHOUTRRR_(e.g.,SHOUTRRR_MESSAGEfor--message).
Examples¶
Send a Notification¶
Example
docker run --rm nickfedor/shoutrrr:latest send --url "discord://abc123@123456789" --message "Hello, Docker!"
Notification sent
Generate a Service URL¶
Example
docker run --rm -it nickfedor/shoutrrr:latest generate discord
Generating URL for discord using basic generator
Token: abc123
WebhookID: 123456789
URL: discord://abc123@123456789
Verify a URL with Verbose Output¶
Example
docker run --rm nickfedor/shoutrrr:latest verify --url "slack://token-a/token-b/token-c"
URL valid
Send from Stdin with Environment Variables¶
Example
echo "Message from stdin" | docker run --rm -i -e SHOUTRRR_URL="slack://token-a/token-b/token-c" -e SHOUTRRR_MESSAGE="-" nickfedor/shoutrrr:latest send
Reading from STDIN...
Read 20 byte(s)
Notification sent
Multi-Architecture Pull and Run¶
Example
docker pull nickfedor/shoutrrr:arm64v8-latest
docker run --rm nickfedor/shoutrrr:arm64v8-latest --version
shoutrrr version latest
Notes¶
- Multi-Architecture: Use platform-specific tags (e.g.,
arm64v8-latest) or let Docker select automatically withlatest. - Timeouts: Inherits Shoutrrr's 10-second send timeout.
- Volumes: Mount
/etc/ssl/certsif custom CA certs are needed, or/inputfor file-based messages. - Updates: Pull latest images regularly. For production, pin to versioned tags.
- Debugging: Add
-vfor verbose output in commands.