#!/bin/bash set -e VERSION=$(curl -s https://git.savin.bio/api/v1/repos/savinmax/websocket-relay/releases | python3 -c 'import json,sys;print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//') OS=$(uname -s | tr '[:upper:]' '[:lower:]') ARCH=$(uname -m | sed 's/x86_/amd/') [ $UID -ne 0 ] && 2>&1 echo "Run as root please, we are going to install stuff" && exit 1 trap "rm -rf websocket-relay*" EXIT pushd /tmp filename="websocket-relay-${OS}-${ARCH}" echo "Downloading version ${filename}" curl -sL -o ./websocket-relay https://git.savin.bio/savinmax/websocket-relay/releases/download/v${VERSION}/$filename chmod +x ./websocket-relay mv websocket-relay /usr/sbin/websocket-relay cat </etc/websocket-relay.yaml server: port: 8888 tls: enabled: false cert_file: cert.pem key_file: key.pem metrics: enabled: true port: 9090 EOF cat </etc/systemd/system/websocket-relay.service [Unit] Description=websocket-relay Wants=network-online.target After=network-online.target [Service] User=websocket-relay Group=websocket-relay Type=simple ExecStart=/usr/sbin/websocket-relay --config-file=/etc/websocket-relay.yaml [Install] WantedBy=multi-user.target EOF useradd -r websocket-relay chown -R websocket-relay:websocket-relay /etc/websocket-relay.yaml systemctl enable websocket-relay.service systemctl start websocket-relay.service popd