Standalone installation might be useful for environments where Docker is not suitable.
Either install signal-cli using packaging/signal-cli or from upstream signal-cli Releases.
See Documentation. Make sure to add --tcp
to /etc/default/signal-cli
.
useradd -r -s /usr/sbin/nologin -m -d /var/lib/signal-cli signal-cli
sudo -u signal-cli -H signal-cli ...
)ExecStart
in signal-cli.service
looks like this:
ExecStart=%your-installation-dir%/bin/signal-cli -a %your_phonenumber% daemon --[tcp [PORT]|--socket [SOCKET]]
When signal-cli has been installed and setup properly, you can install the gateway:
apt-get install python3-virtualenv
sudo -u signal-cli -i bash -c 'python3 -m virtualenv -p /usr/bin/python3 "${HOME}"/venv'
sudo -u signal-cli -i bash -c '"${HOME}"/venv/bin/pip install python-signal-cli-rest-api'
/etc/systemd/system/
curl -L "https://gitlab.com/morph027/python-signal-cli-rest-api/-/raw/main/contrib/systemd/python-signal-cli-rest-api@.service" > "/etc/systemd/system/python-signal-cli-rest-api@.service"
systemctl enable --now "python-signal-cli-rest-api@$(systemd-escape <your_phonenumber>).service"
/etc/systemd/system/
curl -L "https://gitlab.com/morph027/python-signal-cli-rest-api/-/raw/main/contrib/systemd/python-signal-cli-rest-api.service" > /etc/systemd/system/python-signal-cli-rest-api.service
systemctl enable --now python-signal-cli-rest-api.service
Configuration can be done in /etc/default/python-signal-cli-rest-api
. For possible values, see Configuration
It is advised to setup a reverse proxy in front of the gateway to add TLS, authentication and so on. As there are plenty of proxies or webservers: nginx, apache, caddy, traefik,…), just pick your favourite.