Installation

Docker (Recommended)

Docker is the recommended way to run Relayly in production.

git clone https://github.com/NIKX-Tech/relayly.git
cd relayly
docker compose up --build -d

The compose file starts the relay server and mounts a ./data/ directory for the SQLite database and server Noise keypair.

Manual Docker run

docker run -d 
  --name relayly 
  -p 8080:8080 
  -p 8081:8081 
  -v ./data:/data 
  ghcr.io/nikx-tech/relayly:latest

Build from Source

Requires Go 1.22+:

git clone https://github.com/NIKX-Tech/relayly.git
cd relayly
go build -o relayly ./cmd/relayly
./relayly start

Reverse Proxy (TLS)

Caddy

relay.yourdomain.com {
    reverse_proxy localhost:8080
}

Caddy handles automatic TLS via Let’s Encrypt.

nginx

server {
    listen 443 ssl;
    server_name relay.yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

Verify Installation

./relayly status

# Output:
# Status:  running
# Uptime:  2h 14m
# Devices: 3 registered, 1 connected
# Relay:   ws://0.0.0.0:8080
# Admin:   http://127.0.0.1:8081