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.
- 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.79.1 (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, on Debian 13
Nothing in the installer is magic and you do not have to pipe it into a shell. The three platforms differ in exactly one place, which is how ZFS gets onto the host. Pick a card above to switch these.
1. ZFS
# ZFS is in contrib because of the licence, so enable it first.
# Debian 13 uses the deb822 format for its sources.
# sed -i '/^Components:/ s/$/ contrib/' /etc/apt/sources.list.d/debian.sources
# apt update
# The module is compiled against the RUNNING kernel, so it needs
# matching headers. Reboot first if you have upgraded the kernel
# without one, or DKMS will build against the wrong tree.
# apt install linux-headers-$(uname -r) dkms zfs-dkms zfsutils-linux zstd skopeo
# modprobe zfs
zfs-2.3.9-0+deb13u1
2. Docker, then ProxDock
# Docker from Docker's own repository, not the distribution's.
# apt install ca-certificates curl gnupg
# install -m 0755 -d /etc/apt/keyrings
# curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
# chmod a+r /etc/apt/keyrings/docker.asc
# Docker uses a deb822 sources file; this is the one install.sh writes.
# cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
# EOF
# apt update
# apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Then ProxDock. The keyring package writes the sources file for
# this release, which is trixie-release.
# curl -fsSLO https://packages.whydoesnothing.work/wdnw-archive-keyring.deb
# apt install ./wdnw-archive-keyring.deb
# apt update && apt install proxdock
web UI https://10.42.0.11:8443
Then sign in with an empty username and the password the install printed. The setup wizard, step by step →
Keeping it current
Installing the packages is the whole procedure, on one node or on every node of a cluster. There is no separate migration step and nothing to coordinate by hand.
# apt update && apt upgrade
proxdock 0.71.2 -> 0.79.1
proxdock.service restarted
# on a cluster: the same, on every node. The leader raises the
# schema epoch itself once they all report the new version.
Schema migrations ship inside the binary, so upgrade every node of a cluster together when a release adds one. Each node advertises the schema its binary supports, and the leader raises the cluster epoch itself once they all agree, so nodes can go one at a time. A node that is still down holds it, and the Nodes view names what it is waiting on. More on upgrading a cluster →
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
Every release is published as a source tarball with its checksum. 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.
7c083f6e165bef068a04eea2c57c86df117a25a63529a55dd11f5ce6763e1ea2 Check it before you build:
echo "7c083f6e165bef068a04eea2c57c86df117a25a63529a55dd11f5ce6763e1ea2 proxdock-0.79.1-src.tar.gz" | sha256sum -c That same checksum is compiled into the binary the tarball produces, so proxdock version reports the source it was built from.
Previous releases 4
| Version | Published | Size | sha256 | Download |
|---|---|---|---|---|
| 0.71.2 | 26 Oct 2026 | 912 KB | a76326a1c3215ccad5fa9a1743794d0827c7cd56b14424abb7106539c7506bd0 | Download |
| 0.70.0 | 26 Oct 2026 | 903 KB | f5a481693b4ff09d8c413a7a6d74074b3739fa06fa59ee041aee30aa11c42d50 | Download |
| 0.69.17 | 22 Oct 2026 | 883 KB | 45250a7d46c1c7921e882f495d672a3c2a98fbba55ed97750377060681d1afa0 | Download |
| 0.69.16 | 8 Sept 2026 | 882 KB | 684100ee9a69ae6f90430c6959ef5c44b8d9760bf521f99583c067b07073166f | Download |
Then build it
$ make build
the UI compiles to static files embedded in the binary
./proxdock · static, no runtime dependencies
$ make deb
dist/proxdock_0.79.1_amd64.deb