---
title: "Deploy apprise-api"
description: "A lightweight REST API gateway supporting 120+ notification services."
category: "Automation"
url: https://railway.com/deploy/apprise-api
---

# Deploy apprise-api

A lightweight REST API gateway supporting 120+ notification services.

**[Deploy apprise-api on Railway](https://railway.com/template/apprise-api)**

- **Creator:** koukyo_huang's Projects
- **Category:** Automation
- **Total deploys:** 2

## Template content

### apprise-api

- **Image:** caronc/apprise:latest
- **Public domain:** Yes

## Documentation

# Deploy and Host Apprise API on Railway

## About Hosting

Apprise API is a lightweight REST framework built on Django and Gunicorn that wraps the [Apprise Notification Library](https://github.com/caronc/apprise). It provides a unified API to send notifications to 120+ services (Slack, Telegram, Discord, Email, SMS, Pushover, etc.) from a single endpoint. The container runs Nginx + Gunicorn via Supervisord, exposing port 8000. Configuration and attachments are persisted to disk.

## Why Deploy

- Centralize all notification routing through a single self-hosted API endpoint
- Avoid embedding notification provider credentials in every application
- Built-in web UI for managing and testing notification configurations
- Supports stateless one-shot notifications and stateful key-based configurations
- Webhook remapping allows integration with third-party tools that send non-standard payloads
- Prometheus `/metrics` endpoint for monitoring

## Common Use Cases

- Homelab alerting: send notifications from Home Assistant, Uptime Kuma, or other self-hosted tools through a central gateway
- DevOps notifications: trigger alerts to Slack/Teams/PagerDuty from CI/CD pipelines via a simple REST call
- Application sidecar: add notification capability to any app without bundling notification libraries
- Multi-channel broadcasting: send the same message to multiple services simultaneously using tags

## Dependencies for Deployment

### Deployment Dependencies

| Item | Value |
|------|-------|
| Docker Image | `caronc/apprise:latest` |
| Container Port | `8000` |
| Volume | `/config` (persistent configuration storage) |
| `PORT` | `8000` — Railway routing target |
| `APPRISE_STATEFUL_MODE` | `simple` — maps configuration keys to files in `/config` |
| `APPRISE_WORKER_COUNT` | `1` — number of Gunicorn workers (sufficient for light use) |
| `APPRISE_ADMIN` | `y` — enables the web-based configuration UI |
| `TZ` | `Etc/UTC` — container timezone |
| `PUID` | `1000` — user ID for file permissions |
| `PGID` | `1000` — group ID for file permissions |


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/apprise-api
