Files
docker_compose/signal.yaml
T
2026-07-14 10:35:51 -05:00

45 lines
2.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dockerized Signal Messenger REST API
# https://github.com/bbernhard/signal-cli-rest-api/blob/master/doc/EXAMPLES.md
# https://deepwiki.com/bbernhard/signal-cli-rest-api/1-overview
# test: curl -X POST -H "Content-Type: application/json" 'http://localhost:8003/v2/send' -d '{"message": "Test via Signal API!", "number": "+15555555555", "recipients": [ "+15555555555" ]}'
# curl -X POST -H "Content-Type: application/json" '<SWAGGER_HOST>/v2/send' -d '{"message": "Test via Signal API with reverse proxy", "number": "+15555555555", "recipients": [ "+15555555555" ]}'
services:
signal-cli-rest-api:
image: bbernhard/signal-cli-rest-api:latest
container_name: signal-api
restart: unless-stopped
environment:
- TZ=America/Chicago
- MODE=native #supported modes: json-rpc, native, normal. Receives Signal Messages from the Signal Network. If you are running the docker container in normal/native mode, this is a GET endpoint. In json-rpc mode this is a websocket endpoint.
- SWAGGER_HOST=${SWAGGER_HOST} #The host that's used in the Swagger UI for the interactive examples (and useful when this runs behind a reverse proxy). Defaults to SWAGGER_IP:PORT.
- SWAGGER_IP=8004 #The IP that's used in the Swagger UI for the interactive examples. Default 8081. Optional
- SWAGGER_USE_HTTPS_AS_PREFERRED_SCHEME=true
#- PORT=8080 # Sets the main REST API servers internal listening port inside the container.
#- AUTO_RECEIVE_SCHEDULE=0 22 * * * #enable this parameter on demand (see description below)
ports:
- "8003:8080" # API
- "8004:8081" # swagger UI
volumes:
- /srv/docker/utilities/signal-api:/home/.local/share/signal-cli #map "signal-cli-config" folder on host system into docker container. the folder contains the password and cryptographic keys when a new number is registered
labels:
- rackpeek.name=signal-api
- rackpeek.tags=services
networks:
- proxy-net
## Secured Signal Asdds authentication
#secured-signal:
# image: ghcr.io/codeshelldev/secured-signal-api:latest
# container_name: secured-signal
# environment:
# API__URL: http://signal-api:8003
# SETTINGS__MESSAGE__VARIABLES__RECIPIENTS: "[+15555555555]"
# SETTINGS__MESSAGE__VARIABLES__NUMBER: "+15555555555"
# API__TOKENS: "[${API_TOKEN}]"
# ports:
# - "8899:8880"
# restart: unless-stopped
networks:
proxy-net:
external: true