Worker

Run inference on your own GPUs

Install a single binary or Docker container. Your prompts and completions stay on your hardware — routed through the same API, the same SDKs, the same console.

Self-Hosted Workers
Your GPUs. Our orchestration layer.
Your App
Pendra · UK
Pendra API
Self-hosted workers
Worker A
8× L40S 48GB
qwen3.6:35b
Worker B
4× A100 80GB
llama3.3:70b
Inference runs in your environment

Why self-host

Full data control

Prompts and completions are processed entirely on your hardware. Requests route through the Pendra API, but inference never leaves your environment.

Unified orchestration

Centralised load balancing across your GPU fleet. One API, one console, one set of SDKs.

Hybrid ready

Run managed and self-hosted workers side by side. Route sensitive workloads to on-premises, everything else to Pendra.

Installation

Install with the native package for your OS or run as a Docker container. On a Linux server the quickest path is curl -sSL https://get.pendra.ai/worker | sh, which auto-detects your GPU; you can instead add the Pendra apt or yum repository so apt upgrade / dnf upgrade keeps the worker current. On macOS and Windows, open the Pendra consoleWorkersAdd worker for an OS-aware download with checksums. Full per-OS instructions live in Workers → Install.

install
# Linux server — one command, auto-detects your GPU
curl -sSL https://get.pendra.ai/worker | sh

# …or install manually:
# macOS (Apple Silicon) — open the .dmg, drag Pendra into /Applications
open Pendra-<v>-arm64.dmg

# Windows — run the signed installer, no UAC needed
PendraSetup-<v>.exe

# Linux — pick CPU / CUDA / Vulkan to match your GPU
sudo apt install ./pendra_<v>_linux_amd64.deb
sudo pendra setup   # writes /var/lib/pendra/config.yaml and restarts pendra.service

Each installer registers the OS service (LaunchAgent on macOS, Run key on Windows, systemd on Linux), so the worker comes back up after a reboot. macOS supports Apple Silicon only — Intel Macs are no longer supported because the in-process Metal path needs Apple Silicon. Linux ships three GPU variants (CPU baseline, CUDA, Vulkan) for both amd64 and arm64.

CLI reference

The pendra CLI manages your worker. Config is stored in ~/.pendra/config.yaml. Full env-var reference at Workers → Configuration.

CommandDescription
pendra setupInteractive setup wizard — enter your key and save config
pendra models install <model>Pull a catalogue model onto the worker
pendra runStart the worker and begin serving inference requests
pendra modelsList the models installed on the worker
pendra statusShow connection status and active models
pendra restart-backendRestart just the inference engine without stopping the worker (a fresh process starts on the next request) — recovers a stalled GPU that has fallen back to CPU
pendra configView resolved configuration (env + file + defaults)
pendra config set KEY VALSet a configuration value in ~/.pendra/config.yaml
pendra logsTail the worker's log buffer; -f follows. Use systemctl status pendra / launchctl print to manage the OS-supervised service installed by the .deb / .rpm / .dmg / .exe package.
pendra versionShow version, Go version, and platform

Models

A worker serves models from Pendra's curated catalogue — vetted open-source models (Llama, Qwen, Mistral, gpt-oss, Phi, embeddings, and more). Install one with a single click in the console (Models → Install) or with pendra models install <model>; Pendra downloads a verified GGUF straight onto the worker, no SSH or shell required. If the worker drops offline mid-download, the install picks up where it left off when it reconnects — it doesn't restart from zero, and the console shows the download as interrupted until it resumes. Out of the box a worker handles chat (with reasoning, tool calling, structured outputs, and vision), embeddings, image generation, and audio transcription — all in-process, with nothing else to install. See choosing a model size and choosing a quantization to pick the right variant for your hardware.

Requirements

ComponentRequirement
OSLinux (x86_64, arm64), macOS (Apple Silicon only), or Windows (amd64). Full matrix: system requirements.
GPUNVIDIA recommended for production; the worker ships CUDA, Metal, and Vulkan builds. CPU-only mode supported for testing.
NetworkOutbound WSS to api.pendra.ai. No inbound ports needed.
DockerOnly needed if running the worker as a container. Not required for binary install.

Hybrid deployments

Route traffic based on sensitivity, cost, or performance. Your application code stays the same regardless of where inference runs.

Self-hosted

Patient record summarisation, classified document analysis, privileged legal review.

Pendra-managed

Internal knowledge bases, customer support drafts, code generation, general-purpose tasks.

Want us to handle it instead?

Let us run your workers

If you'd rather not manage your own GPUs, we can run dedicated workers for you on Pendra-managed infrastructure. Same API, zero operational overhead.

Get in touch