From 7a1d7c73da2331ee964b497af0ef6138ac9945a1 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 16 Mar 2026 05:00:20 +0000 Subject: [PATCH] =?UTF-8?q?f7hpb:=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=20=D0=B2=20/etc/f7cloud-talk-signaling,=20overlay=20server.con?= =?UTF-8?q?f,=20LF=20line=20endings=20(.gitattributes),=20fix=20CRLF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 2 + f7hpb.sh | 345 ++++++++++---------- overlay/etc/coturn/.gitkeep | 1 + overlay/etc/coturn/certs/.gitkeep | 1 + overlay/etc/f7cloud-talk-signaling/.gitkeep | 0 systemd/signaling.service | 2 +- 6 files changed, 179 insertions(+), 172 deletions(-) create mode 100644 .gitattributes create mode 100644 overlay/etc/f7cloud-talk-signaling/.gitkeep diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..efdba87 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text=auto +*.sh text eol=lf diff --git a/f7hpb.sh b/f7hpb.sh index 9b831d0..6e3adfa 100644 --- a/f7hpb.sh +++ b/f7hpb.sh @@ -1,171 +1,174 @@ -#!/bin/bash -# Установка F7_HPB (signaling, конфиг, systemd). Запускается на сервере HPB. -# Использование: ./f7hpb.sh [/path/to/f7cloud-install.env] -# Переменные можно передать через env-файл или ввести в диалоге, если не заданы. - -set -e -ROLE="f7hpb" -ERROR_LOG="/tmp/install-error-${ROLE}.log" - -log_error() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] ERROR: $*" >> "$ERROR_LOG"; echo "ERROR: $*" >&2; } -log_warn() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] WARN: $*" >> "$ERROR_LOG"; echo "WARN: $*" >&2; } - -# Два режима: если переменная передана (не пустая) — использовать; иначе — запросить ввод. -# Использование: get_var ИМЯ_ПЕРЕМЕННОЙ "Подсказка для пользователя" -get_var() { - local name="$1" - local prompt="$2" - local val="${!name}" - if [ -z "$val" ]; then - read -rp "$prompt: " val - [ -z "$val" ] && { log_error "Переменная $name не задана."; exit 1; } - printf -v "$name" '%s' "$val" - fi -} -# Опциональная переменная: запрос с возможностью оставить пустым -get_var_optional() { - local name="$1" - local prompt="$2" - local val="${!name}" - if [ -z "$val" ]; then - read -rp "$prompt: " val - printf -v "$name" '%s' "$val" - fi -} - -# Путь к env-файлу: аргумент скрипта или запрос -ENV_FILE="${1:-}" -get_var ENV_FILE "Путь к файлу конфигурации (например /path/to/f7cloud-install.env)" - -if [ ! -f "$ENV_FILE" ]; then - log_error "Файл конфигурации не найден: $ENV_FILE" - exit 1 -fi -# shellcheck source=/dev/null -set -a && source "$ENV_FILE" && set +a - -# Переменные из env или диалог, если не переданы -get_var HPB_HASHKEY "HPB hashkey" -get_var HPB_BLOCKKEY "HPB blockkey" -get_var HPB_INTERNAL_SECRET "HPB internal_secret" -get_var HPB_BACKEND_SECRET "HPB backend secret" -get_var F7CLOUD_URL "URL F7 Cloud (например https://cloud.example.com)" -HPB_DOMAIN="${F7CLOUD_URL}" -get_var STATIC_AUTH_SECRET "TURN static-auth-secret (источник уточняется)" -# TURN REST API key для Janus (пока не задан, позже — из конфига coturn) -get_var_optional TURN_REST_API_KEY "TURN REST API key для Janus (Enter — пропустить)" - -> "$ERROR_LOG" -echo "=== Лог установки F7_HPB ===" >> "$ERROR_LOG" -echo "Начало: $(date '+%Y-%m-%d %H:%M:%S')" >> "$ERROR_LOG" - -if ! command -v git >/dev/null 2>&1; then - echo "Установка git..." - apt-get update -qq && apt-get install -y git || { log_error "Не удалось установить git"; exit 1; } -fi - -rm -rf /tmp/F7_HPB -echo "Клонирование репозитория F7_HPB..." -if ! (cd /tmp && git clone https://git.f7cloud.ru/root/F7_HPB.git); then - log_error "Не удалось клонировать репозиторий F7_HPB" - exit 1 -fi -sleep 1 -if ! [ -d /tmp/F7_HPB ]; then - log_error "Директория /tmp/F7_HPB не существует после клонирования" - exit 1 -fi - -# Секреты должны быть в env (переданы из главного скрипта) -if [ -f /tmp/hpb-secrets.env ]; then - # shellcheck source=/dev/null - set -a && source /tmp/hpb-secrets.env && set +a -fi - -R=/tmp/F7_HPB -mkdir -p /etc/f7cloud-spreed-signaling - -if [ -f "$R/server.conf.example" ]; then - cp "$R/server.conf.example" /etc/f7cloud-spreed-signaling/server.conf - sed -i "s|hashkey = .*|hashkey = \"${HPB_HASHKEY}\"|i" /etc/f7cloud-spreed-signaling/server.conf - sed -i "s|blockkey = .*|blockkey = \"${HPB_BLOCKKEY}\"|i" /etc/f7cloud-spreed-signaling/server.conf - sed -i "s|internalsecret = .*|internalsecret = \"${HPB_INTERNAL_SECRET}\"|i" /etc/f7cloud-spreed-signaling/server.conf - sed -i "s|secret = YOUR_NEXTCLOUD_BACKEND_SECRET|secret = \"${HPB_BACKEND_SECRET}\"|g" /etc/f7cloud-spreed-signaling/server.conf - sed -i "s|url = https://[^ ]*|url = ${F7CLOUD_URL}|" /etc/f7cloud-spreed-signaling/server.conf - # [turn]: apikey, secret, servers — из переменных, ключи не теряются - REALM="${F7CLOUD_URL#*://}"; REALM="${REALM%%/*}"; REALM="${REALM%%:*}" - [ -n "$TURN_REST_API_KEY" ] && sed -i "s|apikey = YOUR_TURN_API_KEY|apikey = ${TURN_REST_API_KEY}|" /etc/f7cloud-spreed-signaling/server.conf - [ -n "$STATIC_AUTH_SECRET" ] && sed -i "s|secret = YOUR_TURN_SHARED_SECRET|secret = ${STATIC_AUTH_SECRET}|" /etc/f7cloud-spreed-signaling/server.conf - [ -n "$REALM" ] && sed -i "s|servers = turn:.*|servers = turn:${REALM}:9991?transport=udp,turn:${REALM}:9991?transport=tcp|" /etc/f7cloud-spreed-signaling/server.conf -fi - -# Бинарник signaling только из overlay (signaling-server убран как дубликат) -if [ -f "$R/overlay/usr/bin/signaling" ]; then - cp "$R/overlay/usr/bin/signaling" /usr/bin/ && chmod +x /usr/bin/signaling -else - log_error "Бинарник signaling не найден: $R/overlay/usr/bin/signaling" - exit 1 -fi - -# Юниты: coturn, nats-server, janus, signaling -find "$R" -name "*.service" -exec cp {} /etc/systemd/system/ \; - -# Overlay: файлы и каталоги из репозитория на те же пути в системе -if [ -d "$R/overlay" ]; then - echo "Установка overlay (nats, janus, coturn, бинарники)..." - REALM="${F7CLOUD_URL#*://}"; REALM="${REALM%%/*}"; REALM="${REALM%%:*}" - [ -f "$R/overlay/etc/nats-server.conf" ] && cp "$R/overlay/etc/nats-server.conf" /etc/ - [ -d "$R/overlay/etc/janus" ] && cp -a "$R/overlay/etc/janus" /etc/ - # janus.jcfg: stun_server = домен, turn_rest_api_key = переменная (пока пусто) - if [ -f /etc/janus/janus.jcfg ] && [ -n "$REALM" ]; then - sed -i "s|stun_server = \".*\"|stun_server = \"$REALM\"|" /etc/janus/janus.jcfg - fi - [ -n "$TURN_REST_API_KEY" ] && [ -f /etc/janus/janus.jcfg ] && sed -i "s|turn_rest_api_key = \".*\"|turn_rest_api_key = \"$TURN_REST_API_KEY\"|" /etc/janus/janus.jcfg - [ -d "$R/overlay/etc/coturn" ] && cp -a "$R/overlay/etc/coturn" /etc/ - [ -f "$R/overlay/etc/turnserver.conf" ] && cp "$R/overlay/etc/turnserver.conf" /etc/ - # Библиотеки и плагины Janus - if [ -d "$R/overlay/usr/lib/x86_64-linux-gnu/janus" ]; then - mkdir -p /usr/lib/x86_64-linux-gnu - cp -a "$R/overlay/usr/lib/x86_64-linux-gnu/janus" /usr/lib/x86_64-linux-gnu/ - fi - # Подстановка в turnserver.conf: реальный IP, realm (домен), static-auth-secret - if [ -f /etc/turnserver.conf ]; then - REAL_IP=$(hostname -I 2>/dev/null | awk '{print $1}') - [ -z "$REAL_IP" ] && REAL_IP=$(ip -4 route get 8.8.8.8 2>/dev/null | grep -oP 'src \K[^ ]+' || true) - [ -n "$REAL_IP" ] && sed -i "s|listening-ip=192.168.70.81|listening-ip=$REAL_IP|g" /etc/turnserver.conf && sed -i "s|relay-ip=192.168.70.81|relay-ip=$REAL_IP|g" /etc/turnserver.conf - [ -n "$REALM" ] && sed -i "s|^realm=.*|realm=$REALM|" /etc/turnserver.conf - [ -n "$STATIC_AUTH_SECRET" ] && sed -i "s|^static-auth-secret=.*|static-auth-secret=$STATIC_AUTH_SECRET|" /etc/turnserver.conf - fi - [ -f "$R/overlay/usr/sbin/nats-server" ] && cp "$R/overlay/usr/sbin/nats-server" /usr/sbin/ && chmod +x /usr/sbin/nats-server - [ -f "$R/overlay/usr/bin/janus" ] && cp "$R/overlay/usr/bin/janus" /usr/bin/ && chmod +x /usr/bin/janus - [ -f "$R/overlay/usr/bin/turnserver" ] && cp "$R/overlay/usr/bin/turnserver" /usr/bin/ && chmod +x /usr/bin/turnserver - [ -f "$R/overlay/usr/bin/signaling" ] && cp "$R/overlay/usr/bin/signaling" /usr/bin/ && chmod +x /usr/bin/signaling - # Права для coturn: пользователь turnserver, каталоги 750 - if [ -d /etc/coturn ] || [ -f /etc/turnserver.conf ]; then - getent passwd turnserver >/dev/null 2>&1 || (useradd -r -s /usr/sbin/nologin turnserver 2>/dev/null || true) - [ -f /etc/turnserver.conf ] && chown turnserver:turnserver /etc/turnserver.conf && chmod 640 /etc/turnserver.conf - if [ -d /etc/coturn ]; then - chown -R turnserver:turnserver /etc/coturn - find /etc/coturn -type d -exec chmod 750 {} \; - find /etc/coturn -type f -exec chmod 640 {} \; - fi - fi -fi - -# Пользователи для служб (если ещё не созданы) -getent passwd nats >/dev/null 2>&1 || (useradd -r -s /usr/sbin/nologin nats 2>/dev/null || true) -getent passwd _signaling >/dev/null 2>&1 || (useradd -r -s /usr/sbin/nologin _signaling 2>/dev/null || true) - -systemctl daemon-reload 2>/dev/null || true -# Включить и запустить службы -for svc in coturn nats-server janus signaling; do - systemctl enable "$svc" 2>/dev/null || true - systemctl start "$svc" 2>/dev/null || true -done -# Совместимость со старыми именами -systemctl enable f7cloud-spreed-signaling 2>/dev/null || systemctl enable signaling 2>/dev/null || true -systemctl start f7cloud-spreed-signaling 2>/dev/null || systemctl start signaling 2>/dev/null || true - -echo "Конец: $(date '+%Y-%m-%d %H:%M:%S')" >> "$ERROR_LOG" -echo "F7_HPB установлен. Лог ошибок: $ERROR_LOG" -exit 0 +#!/bin/bash +# Установка F7_HPB (signaling, конфиг, systemd). Запускается на сервере HPB. +# Использование: ./f7hpb.sh [/path/to/f7cloud-install.env] +# Переменные можно передать через env-файл или ввести в диалоге, если не заданы. + +set -e +ROLE="f7hpb" +ERROR_LOG="/tmp/install-error-${ROLE}.log" + +log_error() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] ERROR: $*" >> "$ERROR_LOG"; echo "ERROR: $*" >&2; } +log_warn() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] WARN: $*" >> "$ERROR_LOG"; echo "WARN: $*" >&2; } + +# Два режима: если переменная передана (не пустая) — использовать; иначе — запросить ввод. +# Использование: get_var ИМЯ_ПЕРЕМЕННОЙ "Подсказка для пользователя" +get_var() { + local name="$1" + local prompt="$2" + local val="${!name}" + if [ -z "$val" ]; then + read -rp "$prompt: " val + [ -z "$val" ] && { log_error "Переменная $name не задана."; exit 1; } + printf -v "$name" '%s' "$val" + fi +} +# Опциональная переменная: запрос с возможностью оставить пустым +get_var_optional() { + local name="$1" + local prompt="$2" + local val="${!name}" + if [ -z "$val" ]; then + read -rp "$prompt: " val + printf -v "$name" '%s' "$val" + fi +} + +# Путь к env-файлу: аргумент скрипта или запрос +ENV_FILE="${1:-}" +get_var ENV_FILE "Путь к файлу конфигурации (например /path/to/f7cloud-install.env)" + +if [ ! -f "$ENV_FILE" ]; then + log_error "Файл конфигурации не найден: $ENV_FILE" + exit 1 +fi +# shellcheck source=/dev/null +set -a && source "$ENV_FILE" && set +a + +# Переменные из env или диалог, если не переданы +get_var HPB_HASHKEY "HPB hashkey" +get_var HPB_BLOCKKEY "HPB blockkey" +get_var HPB_INTERNAL_SECRET "HPB internal_secret" +get_var HPB_BACKEND_SECRET "HPB backend secret" +get_var F7CLOUD_URL "URL F7 Cloud (например https://cloud.example.com)" +HPB_DOMAIN="${F7CLOUD_URL}" +get_var STATIC_AUTH_SECRET "TURN static-auth-secret (источник уточняется)" +# TURN REST API key для Janus (пока не задан, позже — из конфига coturn) +get_var_optional TURN_REST_API_KEY "TURN REST API key для Janus (Enter — пропустить)" + +> "$ERROR_LOG" +echo "=== Лог установки F7_HPB ===" >> "$ERROR_LOG" +echo "Начало: $(date '+%Y-%m-%d %H:%M:%S')" >> "$ERROR_LOG" + +if ! command -v git >/dev/null 2>&1; then + echo "Установка git..." + apt-get update -qq && apt-get install -y git || { log_error "Не удалось установить git"; exit 1; } +fi + +rm -rf /tmp/F7_HPB +echo "Клонирование репозитория F7_HPB..." +if ! (cd /tmp && git clone https://git.f7cloud.ru/root/F7_HPB.git); then + log_error "Не удалось клонировать репозиторий F7_HPB" + exit 1 +fi +sleep 1 +if ! [ -d /tmp/F7_HPB ]; then + log_error "Директория /tmp/F7_HPB не существует после клонирования" + exit 1 +fi + +# Секреты должны быть в env (переданы из главного скрипта) +if [ -f /tmp/hpb-secrets.env ]; then + # shellcheck source=/dev/null + set -a && source /tmp/hpb-secrets.env && set +a +fi + +R=/tmp/F7_HPB +SIGNALING_CONF_DIR="/etc/f7cloud-talk-signaling" +mkdir -p "$SIGNALING_CONF_DIR" +if [ -f "$R/overlay/etc/f7cloud-talk-signaling/server.conf" ]; then + cp "$R/overlay/etc/f7cloud-talk-signaling/server.conf" "$SIGNALING_CONF_DIR/" +else + [ -f "$R/server.conf.example" ] && cp "$R/server.conf.example" "$SIGNALING_CONF_DIR/server.conf" +fi +if [ -f "$SIGNALING_CONF_DIR/server.conf" ]; then + sed -i "s|hashkey = .*|hashkey = \"${HPB_HASHKEY}\"|i" "$SIGNALING_CONF_DIR/server.conf" + sed -i "s|blockkey = .*|blockkey = \"${HPB_BLOCKKEY}\"|i" "$SIGNALING_CONF_DIR/server.conf" + sed -i "s|internalsecret = .*|internalsecret = \"${HPB_INTERNAL_SECRET}\"|i" "$SIGNALING_CONF_DIR/server.conf" + sed -i "s|secret = YOUR_NEXTCLOUD_BACKEND_SECRET|secret = \"${HPB_BACKEND_SECRET}\"|g" "$SIGNALING_CONF_DIR/server.conf" + sed -i "s|url = https://[^ ]*|url = ${F7CLOUD_URL}|" "$SIGNALING_CONF_DIR/server.conf" + REALM="${F7CLOUD_URL#*://}"; REALM="${REALM%%/*}"; REALM="${REALM%%:*}" + [ -n "$TURN_REST_API_KEY" ] && sed -i "s|apikey = YOUR_TURN_API_KEY|apikey = ${TURN_REST_API_KEY}|" "$SIGNALING_CONF_DIR/server.conf" + [ -n "$STATIC_AUTH_SECRET" ] && sed -i "s|secret = YOUR_TURN_SHARED_SECRET|secret = ${STATIC_AUTH_SECRET}|" "$SIGNALING_CONF_DIR/server.conf" + [ -n "$REALM" ] && sed -i "s|servers = turn:.*|servers = turn:${REALM}:9991?transport=udp,turn:${REALM}:9991?transport=tcp|" "$SIGNALING_CONF_DIR/server.conf" +fi + +# Бинарник signaling только из overlay (signaling-server убран как дубликат) +if [ -f "$R/overlay/usr/bin/signaling" ]; then + cp "$R/overlay/usr/bin/signaling" /usr/bin/ && chmod +x /usr/bin/signaling +else + log_error "Бинарник signaling не найден: $R/overlay/usr/bin/signaling" + exit 1 +fi + +# Юниты: coturn, nats-server, janus, signaling +find "$R" -name "*.service" -exec cp {} /etc/systemd/system/ \; + +# Overlay: файлы и каталоги из репозитория на те же пути в системе +if [ -d "$R/overlay" ]; then + echo "Установка overlay (nats, janus, coturn, бинарники)..." + REALM="${F7CLOUD_URL#*://}"; REALM="${REALM%%/*}"; REALM="${REALM%%:*}" + [ -f "$R/overlay/etc/nats-server.conf" ] && cp "$R/overlay/etc/nats-server.conf" /etc/ + [ -d "$R/overlay/etc/janus" ] && cp -a "$R/overlay/etc/janus" /etc/ + # janus.jcfg: stun_server = домен, turn_rest_api_key = переменная (пока пусто) + if [ -f /etc/janus/janus.jcfg ] && [ -n "$REALM" ]; then + sed -i "s|stun_server = \".*\"|stun_server = \"$REALM\"|" /etc/janus/janus.jcfg + fi + [ -n "$TURN_REST_API_KEY" ] && [ -f /etc/janus/janus.jcfg ] && sed -i "s|turn_rest_api_key = \".*\"|turn_rest_api_key = \"$TURN_REST_API_KEY\"|" /etc/janus/janus.jcfg + [ -d "$R/overlay/etc/coturn" ] && cp -a "$R/overlay/etc/coturn" /etc/ + [ -f "$R/overlay/etc/turnserver.conf" ] && cp "$R/overlay/etc/turnserver.conf" /etc/ + # Библиотеки и плагины Janus + if [ -d "$R/overlay/usr/lib/x86_64-linux-gnu/janus" ]; then + mkdir -p /usr/lib/x86_64-linux-gnu + cp -a "$R/overlay/usr/lib/x86_64-linux-gnu/janus" /usr/lib/x86_64-linux-gnu/ + fi + # Подстановка в turnserver.conf: реальный IP, realm (домен), static-auth-secret + if [ -f /etc/turnserver.conf ]; then + REAL_IP=$(hostname -I 2>/dev/null | awk '{print $1}') + [ -z "$REAL_IP" ] && REAL_IP=$(ip -4 route get 8.8.8.8 2>/dev/null | grep -oP 'src \K[^ ]+' || true) + [ -n "$REAL_IP" ] && sed -i "s|listening-ip=192.168.70.81|listening-ip=$REAL_IP|g" /etc/turnserver.conf && sed -i "s|relay-ip=192.168.70.81|relay-ip=$REAL_IP|g" /etc/turnserver.conf + [ -n "$REALM" ] && sed -i "s|^realm=.*|realm=$REALM|" /etc/turnserver.conf + [ -n "$STATIC_AUTH_SECRET" ] && sed -i "s|^static-auth-secret=.*|static-auth-secret=$STATIC_AUTH_SECRET|" /etc/turnserver.conf + fi + [ -f "$R/overlay/usr/sbin/nats-server" ] && cp "$R/overlay/usr/sbin/nats-server" /usr/sbin/ && chmod +x /usr/sbin/nats-server + [ -f "$R/overlay/usr/bin/janus" ] && cp "$R/overlay/usr/bin/janus" /usr/bin/ && chmod +x /usr/bin/janus + [ -f "$R/overlay/usr/bin/turnserver" ] && cp "$R/overlay/usr/bin/turnserver" /usr/bin/ && chmod +x /usr/bin/turnserver + [ -f "$R/overlay/usr/bin/signaling" ] && cp "$R/overlay/usr/bin/signaling" /usr/bin/ && chmod +x /usr/bin/signaling + # Права для coturn: пользователь turnserver, каталоги 750 + if [ -d /etc/coturn ] || [ -f /etc/turnserver.conf ]; then + getent passwd turnserver >/dev/null 2>&1 || (useradd -r -s /usr/sbin/nologin turnserver 2>/dev/null || true) + [ -f /etc/turnserver.conf ] && chown turnserver:turnserver /etc/turnserver.conf && chmod 640 /etc/turnserver.conf + if [ -d /etc/coturn ]; then + chown -R turnserver:turnserver /etc/coturn + find /etc/coturn -type d -exec chmod 750 {} \; + find /etc/coturn -type f -exec chmod 640 {} \; + fi + fi +fi + +# Пользователи для служб (если ещё не созданы) +getent passwd nats >/dev/null 2>&1 || (useradd -r -s /usr/sbin/nologin nats 2>/dev/null || true) +getent passwd _signaling >/dev/null 2>&1 || (useradd -r -s /usr/sbin/nologin _signaling 2>/dev/null || true) + +systemctl daemon-reload 2>/dev/null || true +# Включить и запустить службы +for svc in coturn nats-server janus signaling; do + systemctl enable "$svc" 2>/dev/null || true + systemctl start "$svc" 2>/dev/null || true +done +# Совместимость со старыми именами +systemctl enable f7cloud-spreed-signaling 2>/dev/null || systemctl enable signaling 2>/dev/null || true +systemctl start f7cloud-spreed-signaling 2>/dev/null || systemctl start signaling 2>/dev/null || true + +echo "Конец: $(date '+%Y-%m-%d %H:%M:%S')" >> "$ERROR_LOG" +echo "F7_HPB установлен. Лог ошибок: $ERROR_LOG" +exit 0 diff --git a/overlay/etc/coturn/.gitkeep b/overlay/etc/coturn/.gitkeep index e69de29..8b13789 100644 --- a/overlay/etc/coturn/.gitkeep +++ b/overlay/etc/coturn/.gitkeep @@ -0,0 +1 @@ + diff --git a/overlay/etc/coturn/certs/.gitkeep b/overlay/etc/coturn/certs/.gitkeep index e69de29..8b13789 100644 --- a/overlay/etc/coturn/certs/.gitkeep +++ b/overlay/etc/coturn/certs/.gitkeep @@ -0,0 +1 @@ + diff --git a/overlay/etc/f7cloud-talk-signaling/.gitkeep b/overlay/etc/f7cloud-talk-signaling/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/systemd/signaling.service b/systemd/signaling.service index ae75a27..0a88499 100644 --- a/systemd/signaling.service +++ b/systemd/signaling.service @@ -2,7 +2,7 @@ Description=F7 Talk signaling server [Service] -ExecStart=/usr/bin/signaling --config /etc/f7cloud-spreed-signaling/server.conf +ExecStart=/usr/bin/signaling --config /etc/f7cloud-talk-signaling/server.conf User=_signaling Group=_signaling Restart=on-failure