Docker
qumo publishes prebuilt multi-arch images to GHCR — no Dockerfile of your own needed.
docker pull ghcr.io/qumo-dev/qumo:latest
docker run -d \
--name qumo-relay \
-p 4433:4433/udp \
-p 8080:4433 \
-v "$PWD/certs:/app/certs:ro" \
-e CERT_FILE=certs/server.crt \
-e KEY_FILE=certs/server.key \
-e RELAY_NAME=relay-1 \
ghcr.io/qumo-dev/qumo:latest relay --role hubThe container listens on 4433 for QUIC (UDP) and serves HTTP health/metrics
on the same port (TCP). All configuration is environment variables — see
Configuration.
Compose
A minimal single-relay docker-compose.yml:
services:
relay:
image: ghcr.io/qumo-dev/qumo:latest
command: ["relay"]
ports:
- "4433:4433/udp"
- "8080:4433"
environment:
RELAY_ADDR: "0.0.0.0:4433"
CERT_FILE: certs/server.crt
KEY_FILE: certs/server.key
volumes:
- ./certs:/app/certs:roFor a multi-node mesh (hub + edge, one or more regions), every node runs the
same image — RELAY_NAME, --role, PEERS and the relay’s own peer
certificate (PEER_CERT_FILE, PEER_KEY_FILE) differ per service; the relay
CA (CA_FILE) is the same for all. See
Peer topology for how nodes discover and
connect to each other.