Apprise v2.0 Released
Published: 15 hours ago | Author: lead2gold

Hi all,
Developer of Apprise here.
After quite a bit of work, Apprise v2.0 and Apprise API v2.0 are finally out.
For anyone unfamiliar with Apprise, it acts as a notification hub. Or a glorified switchboard. Your applications, scripts, containers, cron jobs, monitoring tools, Home Assistant instance, etc. send a notification to Apprise, and it handles delivering it to Discord, Telegram, Slack, Matrix, Gotify, email, SMS providers and more. The graphic i created in this post can illustrate the flow better.
There are now 160 supported notification services, all using the same general configuration approach.
You can use Apprise directly from the CLI, embed the Python library into an application, or run Apprise API and centralize your notification configuration on a self-hosted server. Over the years, I got to watch a lot of systems adapt this and it's been cool to see!
The API approach is particularly useful if you have a bunch of applications sending notifications. Instead of spreading your Discord webhooks, SMTP passwords, Telegram tokens and other credentials across everything you run, they can live in one place (protected from prying eyes; centralized too).
What's New in v2?
- Authentication in Apprise API. Authentication is optional, but you can now protect the server with an administrator account and also assign separate credentials and access controls to individual configurations.
- Configuration IDs no longer need to appear in URLs. Supported clients can send them through an HTTP header instead, keeping them out of normal web server access logs.
- Template variables. Secrets can be supplied separately instead of being stored directly in your configuration.
- Priority and escalation. You can try one notification route first and only move to the next one if delivery fails.
- Smarter retries. If you notify five destinations and one fails, only the failed destination is retried.
- Timeout controls. A slow or broken service doesn't need to hold up an entire notification run.
- Better results and live logs. You can see what succeeded, what failed and why. Apprise API can stream delivery logs live through the web interface or API.
- Multiple message formats. Services can accept Markdown, HTML or text where supported instead of Apprise always converting everything to one format.
The Apprise API web interface has also been updated, works much better on mobile devices, and is now available in 20 languages.
For developers embedding the Python library, v2 does contain breaking changes, so have a look through the release notes before upgrading. The v1 branch is still available if you need more time to migrate.
Trying the API
It's not changed much... this example has the user/password element on it which would be worth sharing:
docker run --name apprise \
-p 8000:8000 \
-v ./config:/config \
-v ./attach:/attach \
-e APPRISE_STATEFUL_MODE=simple \
-e APPRISE_AUTH_REQUIRED=yes \
-e APPRISE_USER=user \
-e APPRISE_PASSWORD=changeme \
-e APPRISE_WEB_AUTH_SECRET="$(openssl rand -hex 32)" \
-e APPRISE_WORKER_COUNT=1 \
-d caronc/apprise:2
Then open:
http://localhost:8000- Login with
user/changeme.
Obviously, change the password before putting it anywhere beyond a local test. If you're exposing Apprise API outside of a trusted network, it might be wise to put it behind HTTPS as well.
Full documentation is here and more on the API documentation and deployment examples are here.
As a small side project, there is also an Apprise Android app for people already running Apprise API. It's basically a mobile companion for connecting to and working with your own API server, not a standalone notification service.
Apprise itself has been around since 2017, is written in Python, BSD 2-Clause licensed, maintains 100% test coverage, has passed 17,000 stars on GitHub and sees roughly 9 million PyPI downloads a month.
It's still entirely something you can host and control yourself, for free.
Feedback is always welcome. A surprising amount of what made it into v2 came from issues and suggestions people have opened over the years.
TL;DR Apprise v2.0 and Apprise API v2.0 are out. Major changes; try it out and let me know what you think!
⬆️ 230 points | 💬 30 comments




