Files
transkripte/deploy/linux/install_systemd_service.sh
T
2026-04-15 00:01:38 +02:00

42 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="${PROJECT_DIR:-$(cd "$SCRIPT_DIR/../.." && pwd)}"
UNIT_DIR="$HOME/.config/systemd/user"
SERVICE_NAME="com.maddin.whisper-transcript-pipeline.service"
UNIT_PATH="$UNIT_DIR/$SERVICE_NAME"
PYTHON_BIN="${PYTHON_BIN:-$(command -v python3 || true)}"
if [[ -z "$PYTHON_BIN" ]]; then
echo "python3 not found in PATH" >&2
exit 1
fi
mkdir -p "$UNIT_DIR"
cat >"$UNIT_PATH" <<EOF
[Unit]
Description=Whisper transcript pipeline
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=$PROJECT_DIR
ExecStart=$PYTHON_BIN $PROJECT_DIR/transcript_pipeline.py watch
Restart=always
RestartSec=5
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now "$SERVICE_NAME"
echo "Installed and started $SERVICE_NAME"
echo "If the service should survive logout, enable lingering once:"
echo " loginctl enable-linger $USER"