mirror of
https://github.com/casjaysdevdocker/apprise
synced 2026-05-19 02:47:54 -04:00
🗃️ Removed the .claude/settings.local.json 🗃️
Some checks failed
apprise / release-apprise (push) Has been cancelled
Some checks failed
apprise / release-apprise (push) Has been cancelled
CLAUDE.md Dockerfile .env.scripts .gitattributes .gitea/workflows/docker.yaml .gitignore LICENSE.md PLAN.md README.md rootfs/root/docker/setup/04-users.sh rootfs/root/docker/setup/05-custom.sh rootfs/tmp/ rootfs/usr/local/bin/entrypoint.sh rootfs/usr/local/bin/pkmgr rootfs/usr/local/etc/docker/bin/ rootfs/usr/local/etc/docker/init.d/99-apprise.sh rootfs/usr/local/etc/docker/init.d/zz-default.sh
This commit is contained in:
101
README.md
101
README.md
@@ -1,57 +1,98 @@
|
||||
## 👋 Welcome to apprise 🚀
|
||||
## Welcome to apprise
|
||||
|
||||
apprise README
|
||||
|
||||
|
||||
## Install my system scripts
|
||||
REST API gateway for the [apprise](https://github.com/caronc/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
|
||||
|
||||
```shell
|
||||
sudo bash -c "$(curl -q -LSsf "https://github.com/systemmgr/installer/raw/main/install.sh")"
|
||||
sudo systemmgr --config && sudo systemmgr install scripts
|
||||
sudo systemmgr --config && sudo systemmgr install scripts
|
||||
```
|
||||
|
||||
## Automatic install/update
|
||||
|
||||
|
||||
## Automatic install/update
|
||||
|
||||
```shell
|
||||
dockermgr update apprise
|
||||
```
|
||||
|
||||
|
||||
## Install and run container
|
||||
|
||||
|
||||
```shell
|
||||
mkdir -p "$HOME/.local/share/srv/docker/apprise/volumes"
|
||||
git clone "https://github.com/dockermgr/apprise" "$HOME/.local/share/CasjaysDev/dockermgr/apprise"
|
||||
cp -Rfva "$HOME/.local/share/CasjaysDev/dockermgr/apprise/rootfs/." "$HOME/.local/share/srv/docker/apprise/volumes/"
|
||||
dockerHome="/var/lib/srv/$USER/docker/casjaysdevdocker/apprise/apprise/latest/rootfs"
|
||||
mkdir -p "$dockerHome/data" "$dockerHome/config"
|
||||
docker run -d \
|
||||
--restart always \
|
||||
--privileged \
|
||||
--name casjaysdevdocker-apprise \
|
||||
--hostname apprise \
|
||||
-e TZ=${TIMEZONE:-America/New_York} \
|
||||
-v "$HOME/.local/share/srv/docker/casjaysdevdocker-apprise/volumes/data:/data:z" \
|
||||
-v "$HOME/.local/share/srv/docker/casjaysdevdocker-apprise/volumes/config:/config:z" \
|
||||
-p 80:80 \
|
||||
casjaysdevdocker/apprise:latest
|
||||
--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
|
||||
|
||||
|
||||
## via docker-compose
|
||||
|
||||
```yaml
|
||||
version: "2"
|
||||
services:
|
||||
ProjectName:
|
||||
apprise:
|
||||
image: casjaysdevdocker/apprise
|
||||
container_name: casjaysdevdocker-apprise
|
||||
environment:
|
||||
- TZ=America/New_York
|
||||
- HOSTNAME=apprise
|
||||
volumes:
|
||||
- "$HOME/.local/share/srv/docker/casjaysdevdocker-apprise/volumes/data:/data:z"
|
||||
- "$HOME/.local/share/srv/docker/casjaysdevdocker-apprise/volumes/config:/config:z"
|
||||
- "./data:/data:z"
|
||||
- "./config:/config:z"
|
||||
ports:
|
||||
- 80:80
|
||||
- 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):
|
||||
```shell
|
||||
curl -X POST http://localhost:8000/add/mykey -d 'urls=mailto://user:pass@gmail.com'
|
||||
```
|
||||
3. Send a notification through it:
|
||||
```shell
|
||||
curl -X POST http://localhost:8000/notify/mykey -d 'body=hello&title=test'
|
||||
```
|
||||
4. One-shot stateless notify (no saved config):
|
||||
```shell
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user