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-clisudo -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-virtualenvsudo -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.