Mit dieser Anleitung wird es möglich sein Nachrichten aus Anwendungen an den Signal Messenger zu verschicken. Dies geschieht per Befehlszeile oder aus einem Programm wie z.B. Uptime oder Grafana. Zur eingesetzen Software ist hier weiteres zu lesen. https://github.com/bbernhard/signal-cli-rest-api.
0. Versionierung
Datum | Änderung |
25.01.2024 | Erstellung der Anleitung |
1. Grundvorraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
2. Ordner anlegen
Zuerst legen wir uns die passende Ordner-Struktur an.
mkdir -p /opt/containers/signalapi
3. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an.
nano /opt/containers/signalapi/docker-compose.yml
Inhalt:
services: signal: container_name: signal-api image: bbernhard/signal-cli-rest-api:latest restart: unless-stopped environment: MODE: 'normal' volumes: - "./signal:/home/.local/share/signal-cli" labels: - "traefik.enable=true" - "traefik.http.routers.signalapi.entrypoints=websecure" - "traefik.http.routers.signalapi.rule=(Host(`signalapi.euredomain.de`))" - "traefik.http.routers.signalapi.tls=true" - "traefik.http.routers.signalapi.tls.certresolver=http_resolver" - "traefik.http.routers.signalapi.service=signalapi" - "traefik.http.services.signalapi.loadbalancer.server.port=8080" - "traefik.docker.network=proxy" - "traefik.http.routers.signalapi.middlewares=default@file" networks: - proxy - default networks: proxy: external: true
Noch anzupassen:
- Eure Traefik URL (signalapi.euredomain.de)
4. Docker Compose starten
Den Container startet ihr wie gewohnt mit folgendem Befehl:
docker compose -f /opt/containers/signalapi/docker-compose.yml up -d
5. Container mit dem Signal Messenger verknüpfen
Mit folgender Adresse im Browser erzeugt ihr einen QR-Code mit dem ihr den Container mit Signal koppeln müsst.
“https://signalapi.euredomain.de/v1/qrcodelink?device_name=signal-api”
Im Anschluß kann in der Signal App ein neues Gerät gekoppelt werden. https://support.signal.org/hc/de/articles/360007320551-Gekoppelte-Ger%C3%A4te
6. Nachrichten versenden.
Die API ermöglicht das Versenden und Abrufen von Nachrichten über eine POST-Anfrage:
6.1 Uptime Kuma – Benachrichtigung
Wer bestimmte Services mit Uptime Kuma überwacht, kann sich auch daraus über Signal benachrichtigen lassen: Als Post URL setzt ihr “https://signalapi.euredomain.de/v2/send” ein. “Number” ist die Absendenummer, Recipients” ist der Empfänger.
Viel Spaß damit.
7. Einschränkung.
Wer auf Github https://github.com/bbernhard/signal-cli-rest-api mehr über signal-cli-rest-api liest erfährt etwas zur Versendung von Nachrichten per Befehlszeile. Das scheint unter Traefik mit dieser Anleitung nicht zu laufen. Aktuell habe ich da keine Lösung. Wenn jemand dazu eine Idee gerne raus damit.