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
Prism is a self-hosted notification gateway. Prism can receive messages and route them to Signal, Telegram or WebPush URLs. Messages can be sent via webhooks or monitored from a Proton Mail account integration.
15
+
Route notifications to Signal, Telegram, or WebPush via webhooks or Proton Mail monitoring.
16
16
17
-
Prism also comes with an Android companion app: [prism-android](https://github.com/lone-cloud/prism-android)
All integrations are configured through the web UI - no environment variables or command-line setup needed!
63
-
64
-
Authenticate using your `API_KEY` as the password (username can be anything).
55
+
All integrations are configured through the web UI. Authenticate with your `API_KEY` as the password (username can be anything).
65
56
66
57
### Signal
67
58
@@ -77,9 +68,7 @@ Send notifications through Signal Messenger.
77
68
- Scan the displayed QR code
78
69
5. Your device will link automatically
79
70
80
-
All notifications will be sent via Signal.
81
-
82
-
**Note:** If running the binary directly (not Docker), you'll need [signal-cli](https://github.com/AsamK/signal-cli/releases) installed and in your PATH. Docker images include signal-cli automatically.
71
+
> **Note:** Binary installs require [signal-cli](https://github.com/AsamK/signal-cli/releases) in your PATH. Docker includes it automatically.
83
72
84
73
### Telegram
85
74
@@ -102,20 +91,10 @@ Send notifications through a Telegram bot.
102
91
- Enter your bot token and chat ID
103
92
- Click "Configure"
104
93
105
-
All notifications will be sent to your Telegram chat.
106
-
107
94
### Proton Mail
108
95
109
96
Monitor a Proton Mail account and forward new emails as notifications through Signal or Telegram.
110
97
111
-
**Features:**
112
-
113
-
- Monitors inbox for new emails in real-time
114
-
- Supports 2FA-enabled accounts
115
-
- Auto-creates "Proton Mail" app for received emails
116
-
- Secure credential storage with AES-256-GCM encryption
117
-
- Automatic token refresh - no re-authentication needed
118
-
119
98
**Setup:**
120
99
121
100
1. Visit <http://localhost:8080> and authenticate with your API_KEY
@@ -127,9 +106,7 @@ Monitor a Proton Mail account and forward new emails as notifications through Si
127
106
- 2FA code (if enabled)
128
107
5. Click "Link"
129
108
130
-
Proton Mail will connect and begin monitoring. New emails will appear as notifications from the "Proton Mail" app.
131
-
132
-
**Note:** Prism uses the official Proton Mail API (same as the Proton Bridge). Credentials are encrypted and stored locally. Tokens refresh automatically in the background.
109
+
New emails appear as notifications from the "Proton Mail" app. Credentials are encrypted (AES-256-GCM) and tokens refresh automatically.
133
110
134
111
### WebPush
135
112
@@ -141,8 +118,6 @@ Send notifications directly to your browser.
141
118
2. Allow browser notifications when prompted
142
119
3. Apps without Signal or Telegram configured will automatically use WebPush
143
120
144
-
You'll receive browser notifications when messages arrive.
145
-
146
121
## API
147
122
148
123
All API endpoints require authentication with your API key:
Receive instant Signal, Telegram or WebPush notifications when new emails arrive in your Proton Mail inbox.
235
-
236
-
Prism monitors your Proton Mail account using the official Proton API and forwards new emails as notifications. Perfect for monitoring important accounts without constantly checking email.
237
-
238
-
### Home Assistant Alerts
207
+
### Home Assistant
239
208
240
-
Add a rest notification configuration (eg. add to configuration.yaml) to Home Assistant like:
209
+
Add to `configuration.yaml`:
241
210
242
211
```yaml
243
212
notify:
@@ -250,46 +219,39 @@ notify:
250
219
Authorization: !secret prism_api_key
251
220
```
252
221
253
-
Since Home Assistant and Prism are both on your local network, HTTP is allowed automatically - no additional configuration needed.
254
-
255
-
Add your API_KEY to your secrets.yaml:
222
+
Add to `secrets.yaml`:
256
223
257
224
```bash
258
225
prism_api_key: "Bearer YOUR_API_KEY_HERE"
259
226
```
260
227
261
-
Reboot your Home Assistant system and you'll then be able to send Signal notifications to yourself by using this notify prism action.
262
-
263
-
### Beszel Alerts
228
+
Then use the `notify.prism` action in automations.
264
229
265
-
[Beszel](https://beszel.dev) is a lightweight server monitoring tool. You can forward its alerts through Prism using the ntfy-compatible URL format.
230
+
### Beszel
266
231
267
-
In Beszel's **Settings → Notifications**, add a URL:
232
+
In [Beszel](https://beszel.dev)'s **Settings → Notifications**, add:
- Replace `<your-prism-host>:<port>` with your Prism server address (e.g. `192.168.0.10:8080`)
275
-
-`disableTLS=yes` is only required for local HTTP deployments
276
-
-`Beszel` is the app name that will appear in Prism — change it to anything you like
238
+
`disableTLS=yes`is only needed for local HTTP. The app name (`Beszel`) can be anything.
277
239
278
240
## Monitoring
279
241
280
242
### Health Endpoints
281
243
282
244
#### GET /health
283
245
284
-
Public health check endpoint (no authentication required). Returns `200 OK` when the service is running. Used for Docker health checks and load balancer health probes.
246
+
Public. Returns `200 OK` when running.
285
247
286
248
```bash
287
249
curl http://localhost:8080/health
288
250
```
289
251
290
252
#### GET /api/v1/health
291
253
292
-
Detailed health endpoint (requires authentication). Returns JSON with uptime and integration status:
254
+
Authenticated. Returns uptime and integration status:
Your API_KEY is both the login password and the master encryption key for all integration credentials. Use a strong unique password. Changing it will make all encrypted credentials unrecoverable.
0 commit comments