Quick start
From an empty server to a first recording.
Requirements
A Linux machine with Docker Engine and Compose v2, at least 2 vCPU and 4 GB of RAM, and 50 GB or more of disk. Four DNS names must point at it: studio.example.com, s3., livekit. and turn.studio.example.com. Open TCP 80, 443 and 7881 and UDP 3478 and 7882; keep everything else closed, TCP 5349 in particular.
Storage gets its own name because browsers upload recordings straight to it through signed URLs, which only work for the exact host they name. LiveKit and TURN get their own names so they can have their own certificates.
Install
git clone https://github.com/tapry/tapry cd tapry/deploy/compose ./setup.sh studio.example.com you@example.com docker compose up -d
setup.sh writes .env with random secrets and prints a setup code. The first run builds the image, which takes a few minutes; release images skip the build (add the TAPRY_IMAGES and TAPRY_VERSION lines from the release notes to .env, then docker compose pull && docker compose up -d --no-build).
Record something
Open your domain, create the first account with the setup code, then create a studio. Copy its guest link and open it in a second browser to see the green room, then press Record.
Try it on your own machine
./setup.sh localhost docker compose up -d # then open http://localhost
No DNS needed: browsers resolve s3.localhost, livekit.localhost and turn.localhost to your machine, and treat localhost as secure for camera and microphone access.