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
| Capability | Current status |
|---|---|
| Official distribution | Docker image on GitHub Container Registry |
| Image | ghcr.io/mockingmagician/mesh-relay:latest |
| Platform | Linux amd64 |
| Client transport | TCP on port 41234 |
| Relay transport | UDP on port 41234 |
| Persistent storage | Docker volume mounted at /data |
| Public network | Bootstrap through the documented origin relays |
| Prebuilt relay binary | Not 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.