A terminal tavern over SSH.
Chat and hang out with strangers — right from your terminal.
No signup. No account. Your SSH key is your identity.
Everything resets weekly. Nothing is permanent.
Rooms — Lounge, gallery, games, suggestions, and wargame CTF rooms.
Gallery — A shared sticky note board. Post, drag, read what others left behind.
Wargames — OverTheWire CTF rooms with flag submission, leaderboard, and points.
GIFs — Search and send animated GIFs inline in chat with /gif.
Bartender — The lounge bartender. Tag with @bartender.
Music — 24/7 radio streaming.
F1 help F2 nickname F3 rooms F4 mentions
F5 post note F6 tankard F7 leaderboard
Fork this and run your own tavern. The tavrn name is reserved (see TRADEMARK.md), but the engine is yours.
Quick start:
cp tavern.yaml.example tavern.yaml # configure your tavern name, domain, rooms
cp .env.example .env # add API keys (all optional)
make run # build and connectDocker:
cp tavern.yaml.example tavern.yaml
cp .env.example .env
docker compose upEnvironment variables (all optional):
| Variable | What it does |
|---|---|
OPENAI_API_KEY |
Bartender character |
KLIPY_API_KEY |
GIF search (/gif) |
EXA_API_KEY |
Bartender web search |
TAVRN_PORT |
SSH port (default: 2222) |
Admin CLI:
tavrn --help Full command list
tavrn --set-flag bandit 1 "flag" Set a wargame flag
tavrn --bartender-off Disable bartender live
See deploy/SETUP.md for VPS deployment with systemd + Caddy.
Bubble Tea · Wish · Lipgloss · Go · SQLite
MIT — see LICENSE