Install it from the repository
One package, one static binary, and the web UI embedded in it. ProxDock is built and tested for Debian 13 and Ubuntu 24.04 and 26.04, and published for all three.
ZFS from contrib, module built by DKMS
Prebuilt ZFS modules; skopeo from universe
Prebuilt ZFS modules; skopeo from universe
Pre-1.0, and the repository carries one channel
The public repository publishes releases only, one suite per distribution, all built from the same source. Pre-1.0 means the version can move under you and a release may add a schema migration. When it does, upgrade every node in a cluster together. The changelog says which releases do.
- 01
Run the installer
One command. It checks the architecture and the release, puts ZFS and Docker on the host the way that distribution wants them, adds the repository, and installs ProxDock, so
apt upgradekeeps it current afterwards.you@proxdock1 · install$ wget -qO- https://proxdock.whydoesnothing.work/install.sh | sudo sh Debian GNU/Linux 13 (trixie), kernel 6.12.107+deb13-amd64, ZFS via dkms ==> enabling the contrib component ==> installing ZFS (built on this host via DKMS, this takes a few minutes) zfs-2.3.9-0+deb13u1 skopeo version 1.18.0 ==> adding Docker's apt repository ==> installing Docker CE ==> host prepared no ZFS pool yet — setup will offer to create one ==> adding the wdnw apt repository ==> installing proxdock 0.67.0 (release) proxdock installed and running. Web UI: https://10.42.0.11:8443 Initial password: GdYW-EQHX-VX6k-Hx8H Log in with an EMPTY username to complete setup. The password is single-use and is invalidated when setup completes.It is POSIX
sh, not bash, and every step is a function withmainon the last line, so a truncated download does nothing at all rather than running as far as it got. Optional environment variables pin a version (PROXDOCK_VERSION) or point at a mirror (PROXDOCK_REPO); put them aftersudo. - 02
Run the setup wizard
Sign in with an empty username and the password the installer printed. If there is no ZFS pool yet the wizard scans the disks and offers to create one, refusing anything not provably blank. Then it creates the cluster, defines network zones, and maps them to this node's interfaces.
Or do it by hand
Nothing in the installer is magic and you do not have to pipe it into a shell. Docker should come from Docker's own repository; the rest is two apt commands.
# ZFS and Docker first. Debian builds the module with DKMS;
# Ubuntu ships prebuilt ones but keeps skopeo in universe.
# apt install zfsutils-linux zfs-dkms zstd skopeo
# The keyring package writes the sources file for this release.
# curl -fsSLO https://packages.whydoesnothing.work/wdnw-archive-keyring.deb
# apt install ./wdnw-archive-keyring.deb
# apt update && apt install proxdock
What it needs
- Operating system
- Debian 13, Ubuntu 24.04 LTS and Ubuntu 26.04. Packages for all three are built from the same source and published to the repository.
- Architecture
- amd64. arm64 is planned, including clusters mixing arm and x86 nodes.
- Storage
- ZFS. One or more pools, named whatever you like. A node can host several.
- Containers
- Docker with the Compose plugin, from Docker's own repository. ProxDock writes the files and runs docker compose; it does not replace it.
- Also
- skopeo, for resolving and mirroring image digests. zstd, for backup streams.
- To build
- Go ≥ 1.25 and Node ≥ 20.
Building from source
The UI compiles to static files embedded in the binary, so the result is a single static executable with no runtime dependencies beyond the system tools above.
$ make build
the UI compiles to static files embedded in the binary
./proxdock · static, no runtime dependencies
$ make deb
dist/proxdock_0.67.0_amd64.deb