Skip to main content
GenosDB/GenosRTC uses the Nostr relay network for peer discovery and signaling. By running your own Nostr relay, you get full control, better privacy, and improved reliability.

Benefits

Full Control

Complete ownership of signaling infrastructure

Privacy

Signaling metadata stays on your infrastructure

Reliability

No dependency on public relay availability

Customization

Configure access control, rate limiting, and retention policies

Quick Start (Under 5 Minutes)

This guide deploys a Nostr relay using nostream on an Ubuntu VM with Nginx and HTTPS.

Prerequisites

  • Cloud VM (DigitalOcean, Linode, AWS, etc.)
  • Domain name with DNS access
  • Basic server administration familiarity

Step 1: Provision VM

Create and access an Ubuntu server, then install packages:

Step 2: Install Docker

Verify:

Step 3: Clone nostream

Step 4: Configure Nginx

Remove default config:
Create new config:
Insert:
Test and reload:

Step 5: Configure DNS

Add an A record pointing relay.example.com to your VM IP.

Step 6: Enable HTTPS with Certbot

Step 7: Start the Relay

Detach: Ctrl+B, then D
Reattach: tmux a

Step 8: Test Your Relay

Use any WebSocket testing tool to connect:
If the connection succeeds, your relay is live!

Use Your Relay in GenosDB

Production Considerations

Configure in nostream settings to limit storage and manage retention policies.
Restrict relay access to known clients using authentication mechanisms.
Set up monitoring for relay health, connection counts, and error rates.
Keep Docker images and dependencies updated for security patches.
More details: nostream GitHub

GenosRTC Architecture

P2P networking overview

Fallback Server

Optional reliability enhancement