Remote Runners
PeerTube can offload high CPU/long job like transcoding to a remote PeerTube runner.
When the remote runners option is enabled for a particular task, PeerTube stops to process the jobs locally and wait for a remote runner to request, accept and process them. The runner finally post the job result to PeerTube.
- A more complete architecture documentation is available on the Architecture documentation.
- A detailed documentation to configure a runner is available on CLI -> PeerTube runner.
Enable remote runners
The following tasks can be processed by remote runners, if enabled:
- VOD transcoding in the Left Menu ->
Administration
section ->Settings
->Configuration
->VOD transcoding
- Studio transcoding in the Left Menu ->
Administration
section ->Settings
->Configuration
->VOD transcoding
- Live transcoding in the Left Menu ->
Administration
section ->Settings
->Configuration
->Live streaming
- Automatic transcription in the Left Menu ->
Administration
section ->Settings
->Configuration
->Basic
WARNING
Registered runners can alter video content. It's the reason why you must have confidence in their administrator.
Manage remote runners
When one of the remote runner options is enabled in the PeerTube instance configuration, a new administration menu entry is available to list registered runners: in the Left Menu -> Administration
section -> Runners
-> Remote runners
.
A runner needs a Runner registration token to register itself to your PeerTube instance. To list available registration tokens, click on the Runner registration tokens button.
You can generate multiple registration tokens and revoke them. Revoking a registration token will also unregister associated remote runners.
Manage runner jobs
To list remote runner jobs, go in the Left Menu -> Administration
section -> Runners
-> Runner jobs
.
You can see all remote jobs in the table. A job can be in the following state:
- Pending: the job is waiting for a runner to be processed
- Processing: the job is being processed by a remote runner
- Processing: the job is being processed by a remote runner
- Completed: the job has been processed by a remote runner
- Failed: the job failed several times, so PeerTube decided to fail it
- Waiting for parent job: the job is waiting for another job to finish before being available
A pending job can be cancelled.
You can also see the job content. The public payload is sent to the remote runner, and the private payload is only used internally by the PeerTube instance.