You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-22Lines changed: 35 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -219,10 +219,10 @@ Two flavors. Same quality. Pick your weight class.
219
219
220
220
```bash
221
221
# Full — batteries included (recommended)
222
-
docker pull CoderLuii/HolyClaude
222
+
docker pull coderluii/holyclaude
223
223
224
224
# Slim — lean and mean
225
-
docker pull CoderLuii/HolyClaude:slim
225
+
docker pull coderluii/holyclaude:slim
226
226
```
227
227
228
228
> **`latest` is always the full image.** Slim users: don't worry — when you ask Claude to do something that needs a missing tool, it installs it in seconds. You get the same capabilities, just with a smaller initial download.
@@ -246,7 +246,7 @@ The "I just want it running" template. Copy this entire block into a `docker-com
246
246
247
247
services:
248
248
holyclaude:
249
-
image: CoderLuii/HolyClaude:latest # Full image (use :slim for smaller download)
249
+
image: coderluii/holyclaude:latest # Full image (use :slim for smaller download)
250
250
container_name: holyclaude
251
251
hostname: holyclaude
252
252
restart: unless-stopped
@@ -308,7 +308,7 @@ Same image, every knob exposed. Copy this entire block into a `docker-compose.ya
308
308
309
309
services:
310
310
holyclaude:
311
-
image: CoderLuii/HolyClaude:latest # Full image (use :slim for smaller download)
311
+
image: coderluii/holyclaude:latest # Full image (use :slim for smaller download)
312
312
container_name: holyclaude
313
313
hostname: holyclaude
314
314
restart: unless-stopped
@@ -374,13 +374,18 @@ services:
374
374
# - CHOKIDAR_USEPOLLING=1
375
375
# - WATCHFILES_FORCE_POLLING=true
376
376
#
377
-
#PUSH NOTIFICATIONS (optional)
378
-
# Get notified on your phone when Claude finishes a task or hits an error.
379
-
# Uses Pushover (https://pushover.net). Also requires creating a flag file
377
+
# NOTIFICATIONS (optional)
378
+
# Get notified when Claude finishes a task or hits an error.
379
+
# Uses Apprise — supports 100+ services. Also requires creating a flag file
# These are for the OTHER AI CLIs — not Claude Code itself.
@@ -406,7 +411,7 @@ docker compose up -d
406
411
|**Performance**| Node.js memory ceiling | Only if you hit OOM errors on large projects |
407
412
|**User mapping**| File permissions between container and host | If you get "permission denied" (`id -u` and `id -g` on your host) |
408
413
|**SMB/CIFS**| File watcher polling mode | Only if your volumes live on a NAS or network share |
409
-
|**Notifications**| Push alerts to your phone via Pushover| If you want to walk away and know when Claude is done |
414
+
|**Notifications**| Push alerts via Apprise (Discord, Telegram, Slack, Email, 100+ services)| If you want to walk away and know when Claude is done |
410
415
|**AI providers**| API keys for Gemini, Codex, Cursor | If you want to use AI CLIs other than Claude |
411
416
412
417
> **Every single environment variable is optional.** The container runs perfectly with just `TZ=UTC`. Everything else has sensible defaults or is handled through the web UI.
@@ -431,8 +436,13 @@ The complete reference. Every variable, what it defaults to, what it does.
431
436
|`GIT_USER_EMAIL`|`noreply@holyclaude.local`| Git commit email (set once on first boot) |
432
437
|`CHOKIDAR_USEPOLLING`|*(unset)*| Set to `1` for SMB/CIFS — enables polling file watchers |
433
438
|`WATCHFILES_FORCE_POLLING`|*(unset)*| Set to `true` for SMB/CIFS — enables Python polling |
434
-
|`PUSHOVER_APP_TOKEN`|*(unset)*| Pushover app token for push notifications |
435
-
|`PUSHOVER_USER_KEY`|*(unset)*| Pushover user key for push notifications |
439
+
|`NOTIFY_DISCORD`|*(unset)*| Discord webhook URL for notifications |
440
+
|`NOTIFY_TELEGRAM`|*(unset)*| Telegram bot URL for notifications |
441
+
|`NOTIFY_PUSHOVER`|*(unset)*| Pushover URL for notifications |
442
+
|`NOTIFY_SLACK`|*(unset)*| Slack webhook URL for notifications |
443
+
|`NOTIFY_EMAIL`|*(unset)*| Email (SMTP) URL for notifications |
444
+
|`NOTIFY_GOTIFY`|*(unset)*| Gotify URL for notifications |
@@ -742,17 +752,19 @@ This is how I personally run it. Edit `./data/claude/settings.json` on your host
742
752
743
753
## :bell: Notifications
744
754
745
-
Walk away from your computer and know when Claude is done. Uses [Pushover](https://pushover.net/) for push notifications to your phone.
755
+
Walk away from your computer and know when Claude is done. Uses [Apprise](https://github.com/caronc/apprise) for notifications — supports 100+ services including Discord, Telegram, Slack, Email, Pushover, Gotify, and more.
746
756
747
757
**To enable:**
748
758
749
-
1. Add to your compose `environment`:
759
+
1. Add one or more `NOTIFY_*` variables to your compose `environment`:
2. Inside the container: `touch ~/.claude/notify-on`
755
765
766
+
See [configuration docs](docs/configuration.md#notifications-apprise) for all supported variables and URL formats.
767
+
756
768
**To disable:** `rm ~/.claude/notify-on`
757
769
758
770
**Events that trigger notifications:**
@@ -761,7 +773,7 @@ Walk away from your computer and know when Claude is done. Uses [Pushover](https
761
773
| `stop` | Claude finished the current task |
762
774
| `error` | A tool use failure occurred |
763
775
764
-
> Completely silent when not configured. No tokens set? No flag file? Zero network calls. Zero log spam. Zero overhead.
776
+
> Completely silent when not configured. No `NOTIFY_*` vars set? No flag file? Zero network calls. Zero log spam. Zero overhead.
765
777
766
778
<p align="right">
767
779
<a href="#top">↑ back to top</a>
@@ -784,7 +796,7 @@ Your data persists in `./data/claude` and `./workspace` — upgrading only repla
784
796
To pin a specific version instead of `latest`:
785
797
786
798
```yaml
787
-
image: CoderLuii/HolyClaude:1.0.0 # instead of :latest
799
+
image: coderluii/holyclaude:1.1.0 # instead of :latest
788
800
```
789
801
790
802
<p align="right">
@@ -877,7 +889,7 @@ These are not HolyClaude bugs — they're upstream issues or intentional trade-o
877
889
| "Continue in Shell" button broken | CloudCLI upstream bug (race condition in terminal init) | Use the **Web Terminal** plugin instead (pre-installed) |
878
890
| Cursor CLI "Command timeout" | No API key configured — cosmetic only, doesn't affect anything | Set `CURSOR_API_KEY` or ignore |
879
891
| CloudCLI account lost on rebuild | SQLite can't persist on network mounts — intentional trade-off | Re-create account (~10 seconds) |
880
-
| Web push notifications "not supported" | Browser limitation in CloudCLI, standard behavior | Use Pushover notifications instead |
892
+
| Web push notifications "not supported" | Browser limitation in CloudCLI, standard behavior | Use Apprise notifications instead (see [Notifications](#bell-notifications)) |
| 🔜 | **VS Code tunnel integration** — built-in VS Code Server or tunnel for connecting from VS Code desktop |
954
+
| 🔜 | **Notification routing** — different notification destinations per event type (errors to Telegram, completions to Discord) |
942
955
943
956
Have an idea? [Start a discussion](https://github.com/CoderLuii/HolyClaude/discussions) or [request a feature](https://github.com/CoderLuii/HolyClaude/issues/new?template=feature_request.yml).
Copy file name to clipboardExpand all lines: docs/CHANGELOG.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,19 @@ All notable changes to HolyClaude will be documented in this file.
4
4
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).
6
6
7
-
## [1.0.0] - 2026-03-21
7
+
## [1.1.0] - 03/25/2026
8
+
9
+
### Added
10
+
- Apprise notification engine with support for 100+ services (Discord, Telegram, Slack, Email, Gotify, and more)
11
+
- Individual `NOTIFY_*` environment variables for easy per-service configuration
12
+
- Catch-all `NOTIFY_URLS` for any Apprise-supported service
13
+
14
+
### Changed
15
+
- Notification backend replaced from Pushover to Apprise
16
+
17
+
### Removed
18
+
-**BREAKING:**`PUSHOVER_APP_TOKEN` and `PUSHOVER_USER_KEY` environment variables removed. Migrate to `NOTIFY_PUSHOVER=pover://user_key@app_token`. See [configuration docs](configuration.md#notifications-apprise) for details.
Copy file name to clipboardExpand all lines: docs/configuration.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,15 +49,24 @@ Only needed if your volumes are on a network share (Samba, NAS, etc.):
49
49
|`CHOKIDAR_USEPOLLING`| (unset) | Set to `1` — enables polling for file watchers |
50
50
|`WATCHFILES_FORCE_POLLING`| (unset) | Set to `true` — enables polling for Python watchers |
51
51
52
-
### Notifications (Pushover)
52
+
### Notifications (Apprise)
53
+
54
+
HolyClaude uses [Apprise](https://github.com/caronc/apprise) for notifications, supporting 100+ services including Discord, Telegram, Slack, Email, Pushover, Gotify, and more.
53
55
54
56
| Variable | Default | Description |
55
57
|----------|---------|-------------|
56
-
|`PUSHOVER_APP_TOKEN`| (unset) | Your Pushover application token |
57
-
|`PUSHOVER_USER_KEY`| (unset) | Your Pushover user key |
Notifications also require the flag file `~/.claude/notify-on` to exist inside the container. Create it with `touch ~/.claude/notify-on`.
60
67
68
+
**Migrating from Pushover (v1.0.0):** Replace `PUSHOVER_APP_TOKEN` and `PUSHOVER_USER_KEY` with a single variable: `NOTIFY_PUSHOVER=pover://user_key@app_token`
69
+
61
70
### AI Provider API Keys
62
71
63
72
These can also be set through the CloudCLI web UI.
0 commit comments