Docker¶
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. docker compose downstops rettui cleanly; it saves on SIGTERM.