39 lines
1.9 KiB
Bash
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."
|