Skip to main content
This tutorial proves the Livepeer orchestrator pipeline works on your machine before you commit GPU hardware, ETH, or LPT. A job enters a gateway, routes to the orchestrator, executes in a CPU Docker container, and returns a response. No GPU, no wallet, no on-chain registration.

This smoke test runs a complete Livepeer gateway and orchestrator on one machine using a CPU-only Docker container as a BYOC (Bring Your Own Container) pipeline. By the end, a test job has travelled from the gateway through the orchestrator into a custom container and back. Estimated time: 20 minutes. You will verify:
  • The orchestrator accepts and routes BYOC jobs correctly
  • Your BYOC container registers and serves requests
  • The gateway receives the result from the orchestrator

Prerequisites

No GPU, Ethereum wallet, Arbitrum RPC, or on-chain registration is required.

Build the CPU BYOC container

The pipeline is a CPU-only Python passthrough: frames in, frames out unchanged. This proves the job routing framework works without any model inference.

Start the orchestrator

Start the gateway

Send a test job

What happened

Three processes ran on your machine and handled a complete job lifecycle:
  1. Your BYOC container registered as a pipeline called passthrough-cpu, exposing a health endpoint at :8000.
  2. The orchestrator started in off-chain mode, registered the BYOC container’s capability, and listened for jobs at :8935.
  3. The gateway started in off-chain mode with no Ethereum wallet, connected to the community remote signer for payment operations, and pointed at your local orchestrator.
  4. The test request entered the gateway at :8936, the gateway routed it to the orchestrator (with a payment ticket signed by the remote signer), the orchestrator forwarded it to the BYOC container, the container processed and returned the payload, and the result returned through the chain to the HTTP response.
The off-chain path used here has no on-chain settlement. In production, an on-chain orchestrator submits winning payment tickets to the Arbitrum TicketBroker contract for ETH redemption.
Last modified on March 16, 2026