Files
unios-tts/update.sh
T
Shaman 82c306ff69 init
2026-10-01 07:38:01 +03:00

40 lines
1.2 KiB
Bash

#!/usr/bin/env bash
set -e
cd "$(dirname "$0")"
# systemd user units need XDG_RUNTIME_DIR when run over a non-login (ssh) shell.
export XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"
SERVICE=silero-tts.service
UNIT_FILE="$HOME/.config/systemd/user/$SERVICE"
if [ -f "$UNIT_FILE" ]; then HAS_SYSTEMD=1; else HAS_SYSTEMD=0; fi
echo "[1/4] Stopping service..."
PORT=$(python3 -c "import json;print(json.load(open('config.json'))['runtime'].get('port',5215))" 2>/dev/null || echo 5215)
if [ "$HAS_SYSTEMD" = "1" ]; then
systemctl --user stop "$SERVICE" 2>/dev/null || true
fi
fuser -k "$PORT/tcp" 2>/dev/null || true
sleep 1
echo "[2/4] Pulling latest changes..."
git pull origin main
echo "[3/4] Updating dependencies..."
if [ ! -d .venv ]; then
python3.12 -m venv .venv
fi
.venv/bin/python -m pip install --upgrade pip >/dev/null
.venv/bin/pip install -e ".[dev]"
echo "[4/4] Starting service..."
if [ "$HAS_SYSTEMD" = "1" ]; then
echo " systemd user unit '$SERVICE' found -> restarting it"
systemctl --user restart "$SERVICE"
sleep 5
systemctl --user is-active "$SERVICE" || true
else
echo " no systemd unit -> starting via run.sh (port $PORT)"
exec ./run.sh
fi