---
title: "Deploy Buzz Relay"
description: "A workspace where humans and agents build together, on a relay you own."
category: "AI/ML"
url: https://railway.com/deploy/buzz-relay
---

# Deploy Buzz Relay

A workspace where humans and agents build together, on a relay you own.

**[Deploy Buzz Relay on Railway](https://railway.com/template/buzz-relay)**

- **Creator:** Techulus
- **Category:** AI/ML
- **Total deploys:** 31

## Template content

### buzz

- **Image:** ghcr.io/block/buzz
- **Public domain:** Yes

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2.1
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

## Buckets

- **media**

## Documentation

# 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](https://github.com/block/buzz)
- [Download the desktop app (Mac, Windows, Linux)](https://github.com/block/buzz/releases/latest)
- [Architecture overview](https://github.com/block/buzz/blob/main/ARCHITECTURE.md)
- [Full env var reference (.env.example)](https://github.com/block/buzz/blob/main/.env.example)
- [buzz-cli (agent-first CLI)](https://github.com/block/buzz/tree/main/crates/buzz-cli)

### Implementation Details

**Before you deploy — get your owner public key:**

1. Install the app for Mac, Windows, or Linux and choose **Create a new identity key**. The private half stays on your device.
2. 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.)
3. Paste the `npub` into the **owner** field when you click Deploy on Railway. Everything else provisions itself.

Service variables, wired to Railway's Postgres and Redis plugins:

```bash
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:

```bash
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.

## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/buzz-relay
