Download

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.

0.79.1 amd64 in the apt repository
  1. 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 upgrade keeps 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 with main on 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 after sudo.

  2. 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

root@node · ZFS on Debian 13
# 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

root@node · Docker and ProxDock on Debian 13
# 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.

root@proxdock1 · upgrade
# 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.

Latest source release
0.79.1
959 KB · 26 Oct 2026
Download .tar.gz
sha256 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
VersionPublishedSizesha256Download
0.71.226 Oct 2026912 KBa76326a1c3215ccad5fa9a1743794d0827c7cd56b14424abb7106539c7506bd0 Download
0.70.026 Oct 2026903 KBf5a481693b4ff09d8c413a7a6d74074b3739fa06fa59ee041aee30aa11c42d50 Download
0.69.1722 Oct 2026883 KB45250a7d46c1c7921e882f495d672a3c2a98fbba55ed97750377060681d1afa0 Download
0.69.168 Sept 2026882 KB684100ee9a69ae6f90430c6959ef5c44b8d9760bf521f99583c067b07073166f Download

Then build it

you@workstation · build from source
$ 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