Installation¶
Overview¶
Shoutrrr is available via source code, released binaries, container images, and a GitHub Action.
Build and Install from Source¶
go install github.com/nicholas-fedor/shoutrrr/shoutrrr@latest
GitHub Release Binary Installation¶
The following scripts install the latest release binary to the user's $HOME/go/bin directory. Ensure this directory is in your PATH to enable execution without specifying the full binary path.
New-Item -ItemType Directory -Path $HOME\go\bin -Force | Out-Null; iwr (iwr https://api.github.com/repos/nicholas-fedor/shoutrrr/releases/latest | ConvertFrom-Json).assets.where({$_.name -like "*windows_amd64*.zip"}).browser_download_url -OutFile shoutrrr.zip; Add-Type -AssemblyName System.IO.Compression.FileSystem; ($z=[System.IO.Compression.ZipFile]::OpenRead("$PWD\shoutrrr.zip")).Entries | ? {$_.Name -eq 'shoutrrr.exe'} | % {[System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, "$HOME\go\bin\$($_.Name)", $true)}; $z.Dispose(); rm shoutrrr.zip; if (Test-Path "$HOME\go\bin\shoutrrr.exe") { Write-Host "Successfully installed shoutrrr.exe to $HOME\go\bin" } else { Write-Host "Failed to install shoutrrr.exe" }
mkdir -p $HOME/go/bin && curl -L $(curl -s https://api.github.com/repos/nicholas-fedor/shoutrrr/releases/latest | grep -o 'https://[^"]*linux_amd64[^"]*\.tar\.gz"' | grep -o 'https://[^"]*' | head -n1) | tar -xz -C $HOME/go/bin shoutrrr
mkdir -p $HOME/go/bin && curl -L $(curl -s https://api.github.com/repos/nicholas-fedor/shoutrrr/releases/latest | grep -o 'https://[^"]*macOS_amd64[^"]*\.tar\.gz"' | grep -o 'https://[^"]*' | head -n1) | tar -xz -C $HOME/go/bin shoutrrr
Note
Review the release page for additional architectures (e.g., arm, arm64, i386, riscv64).
Container Images¶
Shoutrrr provides lightweight Docker images based on Alpine Linux, supporting multiple architectures (amd64, arm64, arm/v6, i386, riscv64). Images are available on Docker Hub and GitHub Container Registry (GHCR).
docker pull nickfedor/shoutrrr:latest
- Repository: https://hub.docker.com/r/nickfedor/shoutrrr
- Image Reference:
nickfedor/shoutrrr - Tags:
latest,vX.Y.Z(e.g.,v0.8.0),nightly, platform-specific (e.g.,amd64-nightly)
docker pull ghcr.io/nicholas-fedor/shoutrrr:latest
- Repository: https://github.com/nicholas-fedor/shoutrrr/pkgs/container/shoutrrr
- Image Reference:
ghcr.io/nicholas-fedor/shoutrrr - Tags:
latest,vX.Y.Z(e.g.,v0.8.0),nightly, platform-specific (e.g.,arm64v8-nightly)
Note
Use latest for the latest stable release, versioned tags (e.g., v0.8.0) for specific releases, or nightly for a rolling release image. Platform-specific tags are available for targeted deployments.
Go Package¶
Add Shoutrrr to your Go project using:
go get github.com/nicholas-fedor/shoutrrr@latest
Minimum Supported Version Policy¶
Projects importing Shoutrrr are expected to follow the latest Go minor and/or patch semantic version; ergo, Shoutrrr follows the latest minor Go version, i.e. 1.27.
GitHub Action¶
Use Shoutrrr in GitHub workflows to send notifications.
name: Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Some other steps needed for deploying
run: ...
- name: Shoutrrr
uses: nicholas-fedor/shoutrrr-action@v1
with:
url: ${{ secrets.SHOUTRRR_URL }}
title: Deployed ${{ github.sha }}
message: See changes at ${{ github.event.compare }}.
Note
Pin the action to a specific SHA or version tag (e.g., @v1) and manage updates with Dependabot or Renovate for stability.