Files

39 lines
1.9 KiB
Bash

#!/bin/sh
set -eu
if [ "$(id -u)" -ne 0 ]; then
echo "install.sh must run as root" >&2
exit 1
fi
package_root=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
if ! getent group remotedesk-edge >/dev/null 2>&1; then
groupadd --system remotedesk-edge
fi
if ! getent passwd remotedesk-edge >/dev/null 2>&1; then
useradd --system --gid remotedesk-edge --home-dir /var/lib/remotedesk-edge \
--create-home --shell /usr/sbin/nologin remotedesk-edge
fi
install -m 0755 "$package_root/bin/remotedesk-edge-service" /usr/bin/remotedesk-edge-service
install -m 0755 "$package_root/setup.sh" /usr/bin/remotedesk-edge-setup
install -d -m 0750 -o root -g remotedesk-edge /etc/remotedesk-edge
if [ ! -f /etc/remotedesk-edge/edge.env ]; then
install -m 0640 -o root -g remotedesk-edge "$package_root/config/edge.env" /etc/remotedesk-edge/edge.env
fi
if [ ! -f /etc/remotedesk-edge/turn-pops.json.example ]; then
install -m 0640 -o root -g remotedesk-edge "$package_root/config/turn-pops.json.example" /etc/remotedesk-edge/turn-pops.json.example
fi
if [ ! -f /etc/remotedesk-edge/coturn.conf.example ]; then
install -m 0644 "$package_root/config/coturn.conf.example" /etc/remotedesk-edge/coturn.conf.example
fi
if [ ! -f /etc/remotedesk-edge/coturn.env.example ]; then
install -m 0640 -o root -g remotedesk-edge "$package_root/config/coturn.env.example" /etc/remotedesk-edge/coturn.env.example
fi
install -m 0644 "$package_root/systemd/remotedesk-edge.service" /usr/lib/systemd/system/remotedesk-edge.service
install -m 0644 "$package_root/systemd/remotedesk-turn.service" /usr/lib/systemd/system/remotedesk-turn.service
install -m 0755 "$package_root/verify-coturn.sh" /usr/bin/remotedesk-verify-coturn
systemctl daemon-reload
systemctl enable remotedesk-edge.service
echo "Initialize the relay with remotedesk-edge-setup, publish both loopback listeners securely, then start remotedesk-edge.service. Optional coturn templates were installed but not enabled."