Docker - zevaryx/rettui GitHub Wiki
The web UI can run in a container. Each release publishes an image for
x86-64 and ARM64 to ghcr.io/zevaryx/rettui, tagged with the version (1.2.0,
1.2, 1) and latest. To use it, remove build: . from
compose.yaml and set image: ghcr.io/zevaryx/rettui:latest,
then docker compose up -d. Every other branch has an image too, named
after the branch (ghcr.io/zevaryx/rettui:dev for dev); see
Releases and CI.
To build the image yourself instead, from a checkout with its submodules:
git submodule update --init
docker compose up -d --build
docker compose logs rettui # the login link (http://127.0.0.1:8740/?token=…)
-
Data: compose.yaml keeps everything in
./datanext to it: the identity, settings, messages, cache, and the Reticulum config in./data/reticulum/config. rettui writes that config the first time it starts. -
Owner of the files:
PUIDandPGID(default 1000) set the user and group rettui runs as, so the files in./databelong to you. Use yourid -uandid -g.GUIDalso works in place ofPGID. -
Network: Reticulum's default AutoInterface finds peers on the local network by multicast, which doesn't leave Docker's default network. Either add an interface to
./data/reticulum/config(for example aTCPClientInterfaceto a transport node, which the Reticulum section of the web UI can do) and restart Reticulum, or usenetwork_mode: host(commented out in the compose file) instead ofports:. -
Access: port 8740 is published on every interface of the host, and the login link is still required. Change it to
"127.0.0.1:8740:8740"to allow only this machine.PORTchanges the port inside the container. -
Transport node: port 4242 (Reticulum's usual port) is exposed and published too, for others to connect to rettui as an entry point. Nothing listens on it until the Reticulum config has, under
[reticulum],enable_transport = Yes, and an interface listening on0.0.0.0port 4242:[Public entry point](/zevaryx/rettui/wiki/Public-entry-point) type = TCPServerInterface enabled = Yes listen_ip = 0.0.0.0 listen_port = 4242The Reticulum section of the web UI can add it; restart Reticulum after. To announce it for interface discovery, add
discoverable = Yesandreachable_on(the host's public address or name). Remove the"4242:4242"line fromports:if you don't run one. -
docker compose downstops rettui cleanly; it saves on SIGTERM.