41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# LiveKit — local dev
|
|
|
|
Self-hosted SFU for voice + video. Runs in Docker on host-network mode so
|
|
WebRTC UDP ports work natively.
|
|
|
|
## Start / Stop
|
|
|
|
```bash
|
|
# from repo root
|
|
docker compose -f infra/livekit/docker-compose.yml up -d
|
|
docker compose -f infra/livekit/docker-compose.yml logs -f livekit
|
|
docker compose -f infra/livekit/docker-compose.yml down
|
|
```
|
|
|
|
## Endpoints
|
|
|
|
| Purpose | URL / Port |
|
|
|---------------|-----------------------|
|
|
| Signaling WS | `ws://localhost:7880` |
|
|
| TCP fallback | `tcp://localhost:7881`|
|
|
| UDP RTC | `50000-50100/udp` |
|
|
| coturn | `3478/udp+tcp` |
|
|
|
|
## Dev keys
|
|
|
|
Baked into `livekit.yaml`:
|
|
|
|
- `LIVEKIT_API_KEY=devkey`
|
|
- `LIVEKIT_API_SECRET=devsecret-at-least-32-bytes-long-please`
|
|
- `LIVEKIT_URL=ws://localhost:7880`
|
|
|
|
Same values go into `apps/desktop/.env` (via `VITE_LIVEKIT_URL`) and into the
|
|
edge function's `supabase/functions/.env`.
|
|
|
|
## Prod (later)
|
|
|
|
Same image on the Hetzner VPS. Caddy terminates TLS at
|
|
`wss://livekit.netralax.cloud`. coturn exposed on `turn.netralax.cloud:5349`
|
|
(TURNS). Secrets generated via `openssl rand -hex 32` and stored in the server
|
|
env + Supabase edge secrets.
|