casjay 76ded16884
Some checks failed
apprise / release-apprise (push) Failing after 9m31s
🔧 Update configuration files 🔧
AI.md
Dockerfile
.env.scripts
IDEA.md
rootfs/root/docker/setup/00-init.sh
rootfs/root/docker/setup/01-system.sh
rootfs/root/docker/setup/02-packages.sh
rootfs/root/docker/setup/03-files.sh
rootfs/root/docker/setup/06-post.sh
rootfs/root/docker/setup/07-cleanup.sh
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/functions/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/99-apprise.sh
TODO.AI.md
2026-05-18 15:38:17 -04:00
2026-05-12 20:05:26 -04:00
2026-05-18 15:38:17 -04:00
🦈🏠🐜 Initial Commit 🐜🦈🏠
2023-08-28 20:44:28 -04:00
2026-05-18 15:38:17 -04:00
2026-05-12 20:05:26 -04:00
2026-05-12 20:05:26 -04:00
2026-05-18 15:38:17 -04:00
2026-05-12 20:05:26 -04:00
2026-05-18 15:38:17 -04:00
2026-05-18 15:38:17 -04:00
2025-09-05 13:34:58 -04:00
2026-05-12 20:05:26 -04:00
2026-05-12 20:05:26 -04:00
2026-05-12 20:05:26 -04:00
2026-05-18 15:38:17 -04:00

Welcome to apprise

REST API gateway for the apprise notification library. POST a notification to http://<host>:8000/notify (or /notify/<key> for stateful configs) and apprise fans it out to dozens of notification services (Discord, Slack, Telegram, Pushover, email, MQTT, ...).

This image bundles nginx + gunicorn + Django + apprise-api on top of Alpine.

Ports

Port Purpose
8000 Apprise REST API + web UI

Volumes

Path Purpose
/config Apprise YAML/text configs (/config/apprise/store/<key>.yml), nginx overrides (/config/nginx/), per-service env (/config/env/apprise.sh)
/data Logs (/data/logs/apprise/), runtime state

Install my system scripts

 sudo bash -c "$(curl -q -LSsf "https://github.com/systemmgr/installer/raw/main/install.sh")"
 sudo systemmgr --config && sudo systemmgr install scripts

Automatic install/update

dockermgr update apprise

Install and run container

dockerHome="/var/lib/srv/$USER/docker/casjaysdevdocker/apprise/apprise/latest/rootfs"
mkdir -p "$dockerHome/data" "$dockerHome/config"
docker run -d \
  --restart always \
  --name casjaysdevdocker-apprise-latest \
  --hostname apprise \
  -e TZ=${TIMEZONE:-America/New_York} \
  -v "$dockerHome/data:/data:z" \
  -v "$dockerHome/config:/config:z" \
  -p 8000:8000 \
  casjaysdevdocker/apprise:latest

via docker-compose

version: "2"
services:
  apprise:
    image: casjaysdevdocker/apprise
    container_name: casjaysdevdocker-apprise
    environment:
      - TZ=America/New_York
      - HOSTNAME=apprise
    volumes:
      - "./data:/data:z"
      - "./config:/config:z"
    ports:
      - 8000:8000
    restart: always

First-run usage

  1. Visit http://localhost:8000/ to see the apprise-api welcome UI.
  2. Save a stateful config (a named bundle of notification URLs):
    curl -X POST http://localhost:8000/add/mykey -d 'urls=mailto://user:pass@gmail.com'
    
  3. Send a notification through it:
    curl -X POST http://localhost:8000/notify/mykey -d 'body=hello&title=test'
    
  4. One-shot stateless notify (no saved config):
    curl -X POST http://localhost:8000/notify -d 'urls=json://localhost&body=hi&title=test'
    

Useful environment variables

Variable Default Purpose
TZ America/New_York Timezone for log timestamps
APPRISE_WORKER_COUNT (2*CPUs)+1 gunicorn worker count
APPRISE_WORKER_TIMEOUT 300 gunicorn worker timeout (seconds)
APPRISE_BASE_URL (none) Mount under a URL prefix, e.g. /apprise
APPRISE_STATEFUL_MODE simple simple, hash, or disabled

Get source files

dockermgr download src casjaysdevdocker/apprise

OR

git clone "https://github.com/casjaysdevdocker/apprise" "$HOME/Projects/github/casjaysdevdocker/apprise"

Build container

cd "$HOME/Projects/github/casjaysdevdocker/apprise"
buildx 

Authors

🤖 casjay: Github 🤖
casjaysdevdocker: Github Docker

Description
Repo for apprise
Readme 528 KiB
Languages
Shell 93.8%
Dockerfile 6.2%