Docker
Quick Start
git clone https://github.com/NIKX-Tech/relayly.git
cd relayly
docker compose up --build -d docker-compose.yml
version: '3.8'
services:
relayly:
build: .
container_name: relayly
restart: unless-stopped
ports:
- "8080:8080" # Relay WebSocket
- "8081:8081" # Admin UI (bind to 127.0.0.1 in production!)
volumes:
- ./data:/data
environment:
RELAYLY_LOG_LEVEL: info
RELAYLY_LOG_FORMAT: json Warning: In production, do not expose port 8081 publicly. Bind admin to
127.0.0.1and use SSH tunneling or a private network to access it.
Persistent Data
Mount /data as a volume to persist:
/data/relayly.db: SQLite database (device registry, pairing codes)/data/server.noise.key: Server Noise Protocol keypair
Back up both files. Losing server.noise.key requires re-pairing all devices.
Admin UI
After starting, visit http://localhost:8081 to access the admin dashboard.
The admin UI auto-refreshes every 5 seconds via HTMX and shows:
- Live connection count and uptime
- Full device registry with one-click revocation
- Pairing code management