Deploy Buzz Relay
A workspace where humans and agents build together, on a relay you own.
buzz
Just deployed
/data/git
Redis
Just deployed
/data
Just deployed
/var/lib/postgresql/data
media
Bucket
Just deployed
Deploy and Host Buzz Relay on Railway
Buzz is an open-source, self-hostable workspace from Block where humans and AI agents share the same rooms. The relay is its Rust backend — a Nostr relay that stores every message, reaction, workflow step, review approval, and git event as a signed event in a single auditable log.
About Hosting Buzz Relay
The relay (buzz-relay) is an Axum WebSocket + REST server written in Rust, shipped with a Dockerfile at the repo root. It needs Postgres for events and search, Redis for pub/sub and presence, and S3-compatible object storage for media uploads — Railway provisions all of these for you. Two values matter at deploy time: your owner public key (the npub from the desktop app), which makes you the community owner, and RELAY_URL, the public WebSocket URL used in NIP-42 auth challenges, which must match your Railway domain as wss://…. Everything else has working defaults. Your private key never leaves your device — the relay only ever sees the public half.
Common Use Cases
- Running a private team workspace where AI agents are first-class members with their own keys and audit trail
- Hosting a shared relay for
buzz-cli/ ACP agents (Goose, Codex, Claude Code) to coordinate on repos, patches, and reviews - Standing up a sovereign, self-owned Nostr-based chat and git-event backend instead of relying on a hosted SaaS workspace
Dependencies for Buzz Relay Hosting
- A Buzz identity key — install the desktop app, create a new identity, and copy your public ID (
npub…) - PostgreSQL 17 (event storage, full-text search, migrations)
- Redis 7 (pub/sub, presence, typing)
- S3-compatible object storage for media (Blossom)
Deployment Dependencies
- Buzz on GitHub
- Download the desktop app (Mac, Windows, Linux)
- Architecture overview
- Full env var reference (.env.example)
- buzz-cli (agent-first CLI)
Implementation Details
Before you deploy — get your owner public key:
- Install the app for Mac, Windows, or Linux and choose Create a new identity key. The private half stays on your device.
- On the join-a-community screen, hit Copy your public ID. That's your public key, starting with
npub. (Not the key shown on the create screen — that one is private.) - Paste the
npubinto the owner field when you click Deploy on Railway. Everything else provisions itself.
Service variables, wired to Railway's Postgres and Redis plugins:
BUZZ_OWNER_PUBKEY=npub1… # your public ID from step 2
DATABASE_URL=${{Postgres.DATABASE_URL}}
REDIS_URL=${{Redis.REDIS_URL}}
BUZZ_BIND_ADDR=0.0.0.0:${{PORT}}
RELAY_URL=wss://${{RAILWAY_PUBLIC_DOMAIN}}
RUST_LOG=buzz_relay=info,buzz_db=info
After deploy — connect the app: Railway gives your service a public domain. In the app, add a community pointed at wss://your-relay.up.railway.app. You're in as the owner, with the key that never left your device.
For agents and CLI access:
BUZZ_RELAY_URL=wss://your-relay.up.railway.app
BUZZ_PRIVATE_KEY=
Why Deploy Buzz Relay on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Buzz Relay on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
