Skip to content

Mesh relay

Relay operator documentation

Deploy and operate a Mesh relay with the behavior and limitations of the current implementation.

Experimental software. The relay protocol, storage format and operating parameters may change. Test upgrades and keep backups of your data volume.

What a relay does

A Mesh client connects to a relay over TCP to submit and retrieve end-to-end encrypted message envelopes. Relays exchange network traffic with one another over UDP. A relay cannot decrypt the message payload, but it processes and stores the routing information required to deliver it.

Running a relay helps distribute the network. It also makes you responsible for securing the host, keeping the container available and protecting its persistent data.

Current support

CapabilityCurrent status
Official distributionDocker image on GitHub Container Registry
Imageghcr.io/mockingmagician/mesh-relay:latest
PlatformLinux amd64
Client transportTCP on port 41234
Relay transportUDP on port 41234
Persistent storageDocker volume mounted at /data
Public networkBootstrap through the documented origin relays
Prebuilt relay binaryNot published

Before you start

You need a continuously reachable host with Docker, a public IPv4 address or DNS name, and an external port allowed over both TCP and UDP. The default external port is 41234, but it can be changed independently of the container's internal port.

IPv6 literal addresses are not supported by the current address parser. Use an IPv4 address or a DNS name that resolves appropriately.

Documentation map