Skip to content

Using Shoutrrr as a Docker Container

Overview

The Shoutrrr Docker image provides a lightweight containerized version of the Shoutrrr CLI, built on Alpine Linux for minimal size and broad compatibility. It supports all architectures (amd64, arm64, arm/v6, i386, riscv64) and is available on Docker Hub (circa10a/shoutrrr). Tags include latest (stable production), versioned tags (e.g., v0.8.0), and latest-dev (development snapshots).

Usage

Pull Command Syntax
docker pull circa10a/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).
latest-dev Latest development snapshot.
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_MESSAGE for --message).

Examples

Send a Notification

Example

Send to Discord
docker run --rm circa10a/shoutrrr:latest send --url "discord://abc123@123456789" --message "Hello, Docker!"
Expected Output
Notification sent

Generate a Service URL

Example

Generate Discord URL
docker run --rm -it circa10a/shoutrrr:latest generate discord
Expected Prompt Inputs
Generating URL for discord using basic generator

Token: abc123
WebhookID: 123456789
Expected Output
URL: discord://abc123@123456789

Verify a URL with Verbose Output

Example

Verify Slack URL
docker run --rm circa10a/shoutrrr:latest verify --url "slack://token-a/token-b/token-c"
Expected Output
URL valid

Send from Stdin with Environment Variables

Example

Send with Env Vars and Stdin
echo "Message from stdin" | docker run --rm -i -e SHOUTRRR_URL="slack://token-a/token-b/token-c" -e SHOUTRRR_MESSAGE="-" circa10a/shoutrrr:latest send
Expected Output
Reading from STDIN...
Read 20 byte(s)
Notification sent

Multi-Architecture Pull and Run

Example

Pull and Run on ARM64
docker pull circa10a/shoutrrr:arm64v8-latest
docker run --rm circa10a/shoutrrr:arm64v8-latest --version
Expected Output
shoutrrr version latest

Notes

  • Multi-Architecture: Use platform-specific tags (e.g., arm64v8-latest) or let Docker select automatically with latest.
  • Timeouts: Inherits Shoutrrr's 10-second send timeout.
  • Volumes: Mount /etc/ssl/certs if custom CA certs are needed, or /input for file-based messages.
  • Updates: Pull latest images regularly. For production, pin to versioned tags.
  • Debugging: Add -v for verbose output in commands.