Getting startedQuick start

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).

The first account you create becomes the admin. The sign-up form asks for the setup code that setup.sh printed (SETUP_TOKEN in .env), so nobody who finds your new server first can take it. After that, sign-up is closed unless you set ALLOW_SIGNUP=true.

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.