#!/usr/bin/env bash # systemd/install.sh — generate + install one system service per workpc process. # run with sudo. units run as User=kami off the workpc venv. session manager is ordered first. set -euo pipefail APP_DIR="$(cd "$(dirname "$0")/.." && pwd)" PY="$APP_DIR/.venv/bin/python" DEST=/etc/systemd/system # name module port (session_manager guards the GPU; workers want it up first) WORKERS=( "session session_manager 8095" "crop worker_crop 8000" "vision worker_vision 8002" "identity worker_identity 8003" "scene worker_scene 8004" "script worker_script 8005" "tts worker_tts 8006" "layers worker_layers 8007" "render worker_render 8008" ) for spec in "${WORKERS[@]}"; do read -r name mod port <<<"$spec" wants="" [ "$name" != "session" ] && wants="Wants=manga-session.service After=manga-session.service" unit="manga-${name}.service" cat > "$DEST/$unit" <