Self-hosting Apprise API the easy way

Self-hosting Apprise API the easy way

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
6 min

Apprise 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.

SliplaneDeploy Apprise API >
  1. Click the deploy button above
  2. Select a project
  3. Select a server. If you just signed up you get a 48-hour free trial server
  4. 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:

VariableDefaultDescription
TZUTCTimezone used by the container
PORT8000HTTP port Apprise API listens on
APPRISE_ATTACH_SIZE0Maximum attachment size in MB. 0 disables attachments
APPRISE_CONFIG_LOCKemptyLocks 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:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro 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-2x 2 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.

Self-host Apprise API now - It's easy!

Sliplane gives you a fully managed Apprise API instance with one click.