💬 Setup Signal REST API — Send Signal Messages from Your Scripts
Deploy the Signal REST API on Ubuntu with Docker — a REST wrapper around signal-cli that lets your apps and scripts send and receive Signal messages through a simple HTTP API, on port 8225.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/communication/signal-api/signal-api-ubuntu.sh
chmod +x signal-api-ubuntu.sh
sudo bash signal-api-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/communication/signal-api/signal-api-ubuntu.sh
2 Make it Executable
chmod +x signal-api-ubuntu.sh
3 Run the Installer
The script installs Docker if needed and starts the Signal REST API on port 8225, wrapping signal-cli, with its account data stored in a mounted volume so your device link survives restarts.
sudo bash signal-api-ubuntu.sh
4 Link Your Signal Account
Open the QR-code link endpoint in your browser, then in the Signal app go to Settings → Linked Devices → Link New Device and scan it to connect this API as a secondary device:
http://<your-server-ip>:8225/v1/qrcodelink?device_name=server
Ports Used
| Port | Purpose |
|---|---|
| 8225 | REST API (host → container 8080) |
| ./data | Linked-account data — holds the device-link keys |
| device link | Links to an existing Signal account via QR (like Signal Desktop) |