
Self-hosting Apprise API the easy way
Yulei ChenApprise API is a lightweight notification gateway that can send messages to 100+ services, including Slack, Telegram, Discord, Email, Gotify, Matrix, and Microsoft Teams. Notification SaaS tools and automation platforms can get expensive or awkward once you need the same alert to fan out across many providers, so self-hosting Apprise API gives you one cheap, flexible endpoint you control.
Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Apprise API running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.
Prerequisites
Before deploying, ensure you have a Sliplane account (free trial available).
Quick start
Sliplane provides one-click deployment with presets.
- Click the deploy button above
- Select a project
- Select a server. If you just signed up you get a 48-hour free trial server
- Click Deploy!
About the preset
The one-click deploy above uses Sliplane's Apprise API preset. The preset is built for a clean, stable default setup:
- LinuxServer.io image (
linuxserver/apprise-api) for a maintained Apprise API container - Specific version tag (
v1.5.0-ls247) for predictable deploys - Persistent storage mounted to
/config, so saved notification configurations survive restarts and redeployments - Public HTTP service on port 8000, which is the default Apprise API interface port in the LinuxServer image docs
- Timezone and port configuration included in the preset, so you can adjust the container behavior from Sliplane without writing Docker config
Next steps
Once Apprise API is running on Sliplane, access it using the domain Sliplane provided (e.g. apprise-api-xxxx.sliplane.app).
Apprise API ships with a built-in web UI. Open the root URL in your browser and you'll see the configuration interface where you can manage notification URLs and test them directly.
Sending your first notification
You can send a notification via the API with a simple curl call:
curl -X POST \
-F "urls=slack://TokenA/TokenB/TokenC" \
-F "title=Hello" \
-F "body=This is a test notification" \
https://your-apprise-domain.sliplane.app/notify
Replace the urls parameter with your actual notification service URL. Apprise supports 100+ notification services, so you can point the same API endpoint at Slack, Discord, Email, Gotify, and a long list of other targets.
Persistent configurations
Apprise API lets you save notification configurations with a key-based system. You can store notification URLs under a key and then send to that key instead of passing URLs every time:
# Save a configuration
curl -X POST \
-F "urls=slack://TokenA/TokenB/TokenC" \
https://your-apprise-domain.sliplane.app/add/my-alerts
# Send using the saved key
curl -X POST \
-F "title=Alert" \
-F "body=Something happened" \
https://your-apprise-domain.sliplane.app/notify/my-alerts
Those configurations are stored in the /config volume. The Apprise API docs also cover JSON payloads, tags, attachments, and stateful notification endpoints if you want to wire it into a larger workflow.
Environment variables
You can customize Apprise API from the Sliplane service settings. These are the useful knobs to start with:
| Variable | Default | Description |
|---|---|---|
TZ | UTC | Timezone used by the container |
PORT | 8000 | HTTP port Apprise API listens on |
APPRISE_ATTACH_SIZE | 0 | Maximum attachment size in MB. 0 disables attachments |
APPRISE_CONFIG_LOCK | empty | Locks persistent config changes when set, useful when you want a read-only notification config |
Logging
By default, container logs go to STDOUT, which works well with Sliplane's built-in log viewer. For general Docker log tips, check out our post on how to use Docker logs.
Troubleshooting
If a notification does not arrive, start by checking the Apprise API logs in Sliplane. Most failures come from an invalid provider URL, a provider token with missing permissions, or an upstream service rejecting the message.
If your saved key returns no notification, open the web UI and confirm the key exists under the expected name. You can also send directly to /notify with the urls field to separate Apprise configuration issues from provider-specific issues.
Integrating with n8n or other automation tools
Apprise API works great as a notification backend for automation tools. If you're running n8n on Sliplane or Activepieces, you can use Apprise API's HTTP endpoint as a webhook target to fan out notifications to multiple services at once.
Cost comparison
You can also self-host Apprise API with other cloud providers. Here is a pricing comparison for the most common ones:
| Provider | vCPU | RAM | Disk | Monthly Cost | Note |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 (~$10.65) | Flat rate, 1 TB bandwidth, SSL included |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk and bandwidth billed separately |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB bandwidth, Disk billed separately |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 plan | Pro plan floor, usage-based, bandwidth billed separately |
Click here to see how these numbers were calculated.
(Assuming an always-on instance running 730 hrs/month)
- Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
- Fly.io:
shared-cpu-2x2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU). - Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
- Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.
Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.
FAQ
Here are the common questions people ask before running Apprise API on Sliplane.
What notification services does Apprise support?
Apprise supports over 100 notification services out of the box, including Slack, Discord, Telegram, Email (SMTP), Pushover, Gotify, Matrix, Microsoft Teams, and many more. The full list is available in the Apprise wiki.
Can I send notifications to multiple services at once?
Yes. You can pass multiple URLs in a single API call, save multiple URLs under one key, or use Apprise tags to target specific groups. That makes Apprise API handy for alerts that need to hit chat, email, and mobile push at the same time.
How do I configure authentication?
Apprise API does not enable authentication by default. If you expose it publicly, use a reverse proxy with basic auth or keep it reachable only by your other Sliplane services. The Apprise API repository includes an example for adding basic auth through Nginx config.
How do I update Apprise API?
Change the image tag in your service settings on Sliplane and redeploy. Because the preset uses a specific version tag, updates are deliberate instead of surprising.
Are there alternatives to Apprise?
Yes. Gotify is a self-hosted push notification server with a web UI, and ntfy offers pub/sub notifications with a REST API. For broader automation, tools like n8n and Activepieces can handle notifications as part of larger workflows. Check out our post on 5 awesome Zapier alternatives for more options.