diff --git a/deploy/archive-transcriber.service b/deploy/archive-transcriber.service new file mode 100644 index 0000000..7d1e3c9 --- /dev/null +++ b/deploy/archive-transcriber.service @@ -0,0 +1,20 @@ +[Unit] +Description=Archive transcriber +After=network-online.target +Wants=network-online.target + +[Service] +Type=simple +User=ubuntu +WorkingDirectory=/home/ubuntu/livevtt +Environment=PYTHONUNBUFFERED=1 +Environment=WORKERS=4 +Environment=GPUS=0,1 +ExecStart=/home/ubuntu/livevtt/scripts/run_archive_transcriber.sh +Restart=on-failure +RestartSec=30 +KillMode=control-group +TimeoutStopSec=120 + +[Install] +WantedBy=multi-user.target diff --git a/scripts/run_archive_transcriber.sh b/scripts/run_archive_transcriber.sh new file mode 100755 index 0000000..c0ec525 --- /dev/null +++ b/scripts/run_archive_transcriber.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail + +REPO_ROOT="/home/ubuntu/livevtt" +INPUT_ROOT="${INPUT_ROOT:-/mnt/vod/srv/storage/transcoded}" +LOG_FILE="${LOG_FILE:-logs/archive_transcriber_two_phase.log}" +MANIFEST_FILE="${MANIFEST_FILE:-logs/archive_transcriber_manifest.jsonl}" +WORKERS="${WORKERS:-4}" +GPUS="${GPUS:-0,1}" +UV_BIN="${UV_BIN:-/home/ubuntu/.local/bin/uv}" + +cd "$REPO_ROOT" +mkdir -p logs + +cmd=( + "$UV_BIN" run python src/python/tools/archive_transcriber.py + "$INPUT_ROOT" + --workers "$WORKERS" + --two-phase + --trim-silence + --progress + --log-file "$LOG_FILE" + --manifest "$MANIFEST_FILE" +) + +if [[ -n "$GPUS" ]]; then + cmd+=(--gpus "$GPUS") +fi + +exec "${cmd[@]}"