From e28272eb560336f879f992d40337e5afef990427 Mon Sep 17 00:00:00 2001 From: pixelthorn Date: Tue, 14 Jul 2026 10:35:51 -0500 Subject: [PATCH] Add signal.yaml --- signal.yaml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 signal.yaml diff --git a/signal.yaml b/signal.yaml new file mode 100644 index 0000000..a00bf29 --- /dev/null +++ b/signal.yaml @@ -0,0 +1,45 @@ +# 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" '/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 server’s 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 \ No newline at end of file