A Go port of Apprise - Push Notifications That Work with Everything
Features • Installation • Usage • Releases • Contributing
Latest parity report: GitHub Actions parity workflow
apprise-go is a Go port of Apprise by Chris Caron. It aims to provide the same powerful notification capabilities in a standalone, compiled binary with no runtime dependencies.
Note: This project is not affiliated with or endorsed by the upstream Apprise project.
- Multi-Platform Support: Send notifications to 100+ services
- Standalone Binary: No Python runtime required
- Cross-Platform: Linux, macOS, and Windows builds
- CLI Interface: Easy command-line usage
- Storage Support: Persistent notification configurations
- Schema Details: Full service configuration information
Download the latest release for your platform from the Releases page.
# Download and extract (replace VERSION with the latest version)
curl -LO https://github.com/unraid/apprise-go/releases/download/vVERSION/apprise-go-darwin-arm64.zip
unzip apprise-go-darwin-arm64.zip
chmod +x apprise-go
sudo mv apprise-go /usr/local/bin/# Download and extract (replace VERSION with the latest version)
curl -LO https://github.com/unraid/apprise-go/releases/download/vVERSION/apprise-go-linux-amd64
chmod +x apprise-go-linux-amd64
sudo mv apprise-go-linux-amd64 /usr/local/bin/apprise-goDownload the .exe file from the Releases page and add it to your PATH.
git clone https://github.com/unraid/apprise-go.git
cd apprise-go
go build -o apprise-go ./cmd/apprise# Send a simple notification
apprise -b "Hello from apprise!" "discord://webhook_id/webhook_token"# Send to multiple services at once
apprise -b "Multi-platform notification" "discord://..." "slack://..."# Add a title to your notification
apprise -t "Alert" -b "Something happened!" "discord://..."# Get full Apprise schema as JSON
apprise --schema
# Print details about all supported services
apprise --details# Store and reuse configurations
apprise --storage-path /path/to/config -b "Using saved config"The latest stable release can always be found on the GitHub Releases page.
Each release includes:
- Pre-built binaries for multiple platforms:
apprise-go-darwin-amd64.zip- macOS Intel (signed & notarized)apprise-go-darwin-arm64.zip- macOS Apple Silicon (signed & notarized)apprise-go-linux-amd64- Linux AMD64apprise-go-linux-arm64- Linux ARM64apprise-go-linux-386- Linux 32-bitapprise-go-linux-armv7- Linux ARMv7 (Raspberry Pi, etc.)apprise-go-windows-amd64.exe- Windows AMD64apprise-go-windows-arm64.exe- Windows ARM64apprise-go-windows-386.exe- Windows 32-bitapprise-go-freebsd-amd64- FreeBSD AMD64apprise-go-freebsd-arm64- FreeBSD ARM64
- Source code (zip and tar.gz)
- SHA256 checksums for verification
This project maintains its own semantic versioning independent of upstream Apprise. Compatibility with the upstream caronc/apprise project is tracked via internal/version.UpstreamVersion.
All notable changes are documented in CHANGELOG.md. The changelog follows the Keep a Changelog format.
Releases are automated through GitHub Actions:
- Version bumps and changelog updates use Knope
- The release workflow builds, signs (macOS), and notarizes (macOS) binaries
- Assets are automatically uploaded to GitHub Releases
- Upstream version parity is tracked via automated checks
See PROCESS.md for detailed release procedures.
apprise-go/
├── cmd/ # Command-line application
├── internal/ # Internal Go packages
├── assets/ # Default notification icons and themes
├── dist/ # Build output directory
├── scripts/ # Build and release scripts
├── .github/ # GitHub Actions workflows
├── CHANGELOG.md # Version history and changes
├── PROCESS.md # Development and release processes
├── AGENTS.md # Agent configuration documentation
└── README.md # This file
- Upstream Apprise is created by Chris Caron and licensed under the BSD 2-Clause License
- This project reimplements Apprise behavior in Go and includes modifications
- See LICENSE for the full license text
- See NOTICE.md for additional attribution information
Contributions are welcome! Please see PROCESS.md for development guidelines and the release process.
# Clone the repository
git clone https://github.com/unraid/apprise-go.git
cd apprise-go
# Build the project
go build -o apprise-go ./cmd/apprise
# Run tests
go test ./...- Issues: Report bugs or request features via GitHub Issues
- Upstream Apprise: For questions about the original Python project, see caronc/apprise
- caronc/apprise - The original Python implementation
- caronc/apprise-api - RESTful API for Apprise
Made with ❤️ by the developers of Unraid