Signal Notifications¶
Overview¶
Watchtower uses Shoutrrr's Signal service to send Signal notifications.
Signal notifications require a Signal API server that can send messages on behalf of a registered Signal account. This is typically done using signal-cli-rest-api or secured-signal-api.
Examples¶
Setting up a Signal API Server¶
- Phone Number: A dedicated phone number registered with Signal
- API Server: A server running signal-cli with REST API capabilities
- Account Linking: Linking the server as a secondary device to your Signal account
- Optional Security Layer: Authentication and endpoint restrictions via a proxy
The server must be able to receive SMS verification codes during initial setup and maintain a persistent connection to Signal's servers.
Shoutrrr's Signal URL Format¶
Parameters¶
host: Signal API server hostname or IP addressport: Signal API server port (default: 8080)user: Username for HTTP Basic Authentication (optional)password: Password for HTTP Basic Authentication (optional)source_phone: Your Signal phone number with country code (e.g., +1234567890)recipient1, recipient2: Phone numbers or group IDs to send to
TLS Configuration¶
- Use
signal://for HTTPS (default, recommended) - Use
signal://...?disabletls=yesfor HTTP (insecure, for local testing only)
Attachments¶
The Signal service supports sending base64-encoded attachments:
shoutrrr send "signal://localhost:8080/+1234567890/+0987654321" \
"Message with attachment" \
--attachments "base64data1,base64data2"
Note
Attachments must be provided as base64-encoded data. The API server handles MIME type detection and file handling.
Examples¶
Send to a single phone number:
Send to multiple recipients:
Send to a group:
With authentication:
With API token (Bearer auth):
Using HTTP instead of HTTPS: