Open-source ephemeral rooms: text chat, voice, camera, screenshare, and an optional shared broadcast
388
A private online room for you and your friends: text chat, voice, camera, screen share, and — if you want — everyone watching the same live stream together. No sign-up, no ads, and you own the server it runs on.
Think of it as your own small, private version of a Discord voice channel with a shared screen — except it also has a "cinema mode": if you want, one person can broadcast from OBS and everyone else watches that exact same live video together, in sync.
Rooms are temporary (nobody keeps a permanent account) and there is nothing to install for your friends — they just open a link in the browser, type a name, and join.
A few things it is not: it is not Netflix, and it does not include or endorse streaming someone else's paid content — the "broadcast" feature is a generic tool, the same way OBS or Zoom screen share are generic tools. It also does not record anything: once a call ends, it is gone, by design.
There are two very different audiences here, so pick the one that matches you:
You don't need to download the source code or write any code. Grab the small deploy/ folder from this repository (or clone the whole thing, that also works), point a domain at your server, and start it with Docker:
git clone https://github.com/simstm/amphitheatre.git
cd amphitheatre/deploy
cp env.example .env # fill in your domain and a couple of secrets
docker compose --profile caddy up -d
That downloads ready-made images from Docker Hub — nothing is compiled on your machine. Full step-by-step guide, including how to use Traefik instead of the built-in reverse proxy, and which firewall ports you need to open: Self-hosting guide.
Just kicking the tires on your own computer? A single command gets the app itself running (though voice/video needs the LiveKit piece too — see the guide):
docker run -p 3001:3001 -e SESSION_SECRET=change-me simstosh/amphitheatre:latest
Now you do want the full repository, plus Bun and pnpm on your machine. See Getting started for the developer setup:
pnpm install
cp .env.example .env
cp apps/api/.env.example apps/api/.env
make up # starts the voice/video engine locally
pnpm dev # starts the app itself
| Guide | Covers |
|---|---|
| Self-hosting | Run your own copy: domains, deploy/, Caddy or Traefik, ports, updates |
| Getting started | Developer setup, make up / make ome-up, smoke checks |
| Configuration | Every environment variable, explained |
| HTTP / WebSocket API | Frozen contract |
| Identity and moderation | Guests, roles, bans, lockout |
| Broadcast and OBS | Opt-in stage, stream key, OvenPlayer |
| Architecture | Monorepo, stores, OME independence |
| License and CLA | Why AGPL, ICLA, dual-license |
| Infrastructure | Local dev Compose, UDP/TLS ports |
| Load testing | Capacity; recording is forbidden |
| CHANGELOG | What changed in each version |
| AGENTS.md | Instructions for coding agents |
| Design | SPA tokens |
Thank you for contributing. See CONTRIBUTING.md for setup, tests, and the pull-request flow.
Pull requests need the Individual Contributor License Agreement. The CLA Assistant bot comments on the PR with the signature sentence.
Amphitheatre is licensed under AGPL-3.0-only, copyright SIMSDEV.
The public tree stays AGPL so anyone who hosts a modified version as a network service must offer the corresponding source. SIMSDEV may dual-license contributions (including a future paid hosted offering) through the ICLA. Details: License and CLA.
Content type
Image
Digest
sha256:1e6f4a9c0…
Size
47 MB
Last updated
2 months ago
docker pull simstosh/amphitheatre