Skip to content

Binary

Every release on GitHub has an archive per platform. The Linux binaries are statically linked (musl) and run on any distribution.

Platform Target Archive
Linux x86-64 x86_64-unknown-linux-musl rdock-0.3.0-alpha.1-x86_64-unknown-linux-musl.tar.gz
Linux ARM64 aarch64-unknown-linux-musl rdock-0.3.0-alpha.1-aarch64-unknown-linux-musl.tar.gz
macOS on Apple silicon aarch64-apple-darwin rdock-0.3.0-alpha.1-aarch64-apple-darwin.tar.gz

The macOS build is meant for development and testing. Each archive holds a directory rdock-<version>-<target>/ with rdock, LICENSE, NOTICE and README.md. Releases also carry SHA256SUMS, its signature SHA256SUMS.sigstore.json and an SPDX SBOM.

Terminal window
VERSION=0.3.0-alpha.1
TARGET=x86_64-unknown-linux-musl
curl -fsSLO "https://github.com/Docker-Hunterpedia/ReverseDock/releases/download/v$VERSION/rdock-$VERSION-$TARGET.tar.gz"
curl -fsSLO "https://github.com/Docker-Hunterpedia/ReverseDock/releases/download/v$VERSION/SHA256SUMS"
sha256sum --ignore-missing -c SHA256SUMS
tar -xzf "rdock-$VERSION-$TARGET.tar.gz"
sudo install -m 0755 "rdock-$VERSION-$TARGET/rdock" /usr/local/bin/rdock

The checksum line must end in OK. To check the signature and build provenance as well, see Verify a download.

Terminal window
rdock version
rdock 0.3.0-alpha.1
commit 066f9c703c3b
rustc rustc 1.99.1 (58cf8f9c3 2026-10-13)
target x86_64-unknown-linux-musl

By default rdock run reads /etc/rdock/rdock.yaml and keeps its state in /var/lib/rdock. For a test as your own user, use a local file, a local data directory and a port above 1024:

rdock.yaml
listeners:
web: { address: "127.0.0.1:8080" }
defaults:
listeners: [web]
tls: off
routes:
app:
match: "PathPrefix(`/`)"
service: app
services:
app:
backends:
- address: "127.0.0.1:3000"
Terminal window
rdock validate --strict rdock.yaml
rdock run --config rdock.yaml --data-dir ./rdock-data

With an application on port 3000, curl http://127.0.0.1:8080/ reaches it through ReverseDock. Without one, the answer is a 502 page. Stop the proxy with Ctrl-C; open requests may finish first.

In another terminal, the admin commands need the same file and data directory:

Terminal window
rdock status --config rdock.yaml --data-dir ./rdock-data

On Linux, binding ports 80 and 443 needs root or the CAP_NET_BIND_SERVICE capability. Run it as a service with the systemd unit, which grants only that capability, rather than as root. Outside systemd, you can give the binary the capability:

Terminal window
sudo setcap cap_net_bind_service=+ep /usr/local/bin/rdock

Repeat this after every upgrade, because replacing the file removes the capability.

Terminal window
sudo rm /usr/local/bin/rdock

Remove /etc/rdock and /var/lib/rdock too if you no longer need the configuration and its history.