-
Notifications
You must be signed in to change notification settings - Fork 0
Transcription and GPU Worker
Censorarr supports local CPU transcription or an optional remote NVIDIA GPU Worker.
Default-style configuration:
whisper:
backend: local
model: small
device: cpu
compute_type: int8
language: enThis is the simplest backend for a first-run test.
The worker receives extracted audio from the main Censorarr instance, runs Faster-Whisper on an NVIDIA GPU, and returns word timestamps. Detection, review logic, and final media remuxing remain on the main Censorarr server.
You can run the worker three ways:
- Native Windows 11 x64 installer
- Native Debian/Ubuntu x86_64
.deb -
Docker using the existing
gpu-worker/compose project
All three use the same API and X-Censorarr-Token protocol.
Download from GitHub Releases:
Censorarr-GPU-Worker-Setup-X.Y.Z.exe
The installer automatically:
- installs the worker
- generates a strong worker token
- downloads the pinned NVIDIA CUDA 12 / cuBLAS / cuDNN runtime files
- verifies their SHA-256 hashes
- stores the NVIDIA runtime privately under Censorarr GPU Worker data
- creates an automatic startup task
- starts the API on TCP
9000
The NVIDIA display/compute driver is the one prerequisite that is not installed automatically.
Configuration is stored at:
C:\ProgramData\CensorarrGPUWorker\worker.env
The installer opens this file at the end so you can copy ASR_WORKER_TOKEN.
If the NVIDIA driver is installed later, run:
& "C:\Program Files\Censorarr GPU Worker\CensorarrGPUWorker.exe" --install-runtime
& "C:\Program Files\Censorarr GPU Worker\CensorarrGPUWorker.exe" --start-serviceDownload:
Censorarr-GPU-Worker-X.Y.Z-linux-amd64.deb
Install:
sudo apt install ./Censorarr-GPU-Worker-X.Y.Z-linux-amd64.debLocations:
| Item | Location |
|---|---|
| Application | /opt/censorarr-gpu-worker |
| Configuration/token | /etc/censorarr-gpu-worker.env |
| Models | /var/lib/censorarr-gpu-worker/models |
| Private NVIDIA runtime | /var/lib/censorarr-gpu-worker/runtime |
| Service | censorarr-gpu-worker.service |
| API | http://HOST:9000 |
Show the token:
sudo /opt/censorarr-gpu-worker/CensorarrGPUWorker --show-tokenService commands:
sudo systemctl restart censorarr-gpu-worker
systemctl status censorarr-gpu-worker
journalctl -u censorarr-gpu-worker -fIf the driver is installed after the package:
sudo /opt/censorarr-gpu-worker/CensorarrGPUWorker --install-runtime
sudo systemctl restart censorarr-gpu-workerThe native installer does not install the full CUDA development toolkit and does not modify an existing global CUDA setup.
At build time Censorarr creates a platform-specific manifest containing exact NVIDIA package versions, file URLs, sizes, and SHA-256 hashes. During installation it downloads those exact NVIDIA-maintained PyPI wheels and verifies the hashes before extracting the runtime libraries locally.
The pinned root runtime components are:
- CUDA 12 runtime
- cuBLAS for CUDA 12
- cuDNN 9 for CUDA 12
Any NVIDIA package dependencies are resolved into the manifest at build time as well.
A working NVIDIA driver is still required.
Docker remains supported:
git clone https://github.com/leestow/Censorarr.git
cd Censorarr/gpu-workerSet a long random token in docker-compose.yml:
ASR_WORKER_TOKEN: "CHANGE_ME_TO_THE_SAME_LONG_RANDOM_TOKEN_AS_MAIN_CENSORARR"Then:
docker compose up -d --buildFrom the worker host:
curl -H 'X-Censorarr-Token: YOUR_TOKEN' http://127.0.0.1:9000/healthFrom the main Censorarr host:
curl -H 'X-Censorarr-Token: YOUR_TOKEN' http://GPU-WORKER-IP:9000/healthA healthy worker should report one or more CUDA devices.
In Settings → Setup Wizard or Transcription settings:
URL: http://GPU-WORKER-IP:9000
Token: exactly the same ASR_WORKER_TOKEN used by the worker
Backend choices:
-
remote— GPU worker only -
auto— GPU worker with local CPU fallback
Model: small.en
Compute type: int8_float32
Chunk size: 600 seconds
Chunk overlap: 2 seconds
These defaults remain suitable for GTX 10-series / Pascal cards. Long WAV files are processed in bounded chunks to avoid large host-RAM spikes.
The main Censorarr token and worker ASR_WORKER_TOKEN must match exactly. Current Censorarr uses:
X-Censorarr-Token
Check:
nvidia-smiFor native installs, also verify the private runtime was installed:
Windows:
& "C:\Program Files\Censorarr GPU Worker\CensorarrGPUWorker.exe" --runtime-planLinux:
sudo /opt/censorarr-gpu-worker/CensorarrGPUWorker --runtime-planThen rerun --install-runtime if needed.
Verify:
- worker process/service is running
- TCP
9000is allowed through the host firewall - the IP/hostname is correct
- Censorarr can route to the worker host
Censorarr Wiki
- Home
- Quick Start
- Windows
- Native Linux
- Synology Container Manager
- Docker / Linux
- Setup Wizard
- Media & Permissions
- Transcription & GPU Worker
- Plex
- Radarr & Sonarr
- Bazarr & Subtitles
- Profanity & Detection
- CLEAN Audio & Safety
- Scheduling & Notifications
- Updating
- Troubleshooting
- Configuration Reference
- Security & Secrets