Remote Docker without opening ports, exposing the Engine, or maintaining a VPN. The recommended path is the interactive install.sh script. It detects OS and arch, installs a Linux systemd server (with the docker group) or a desktop client, and pulls artifacts from the rolling release.
Interactive by default. Asks server vs client (or both).
Server path is Linux-only for systemd; client works on Linux and macOS.
Windows: download a .tar.gz from the rolling release.
curl -fsSL https://install.peardock.boats | bash
# Non-interactive
curl -fsSL https://install.peardock.boats | bash -s -- --server --yes
curl -fsSL https://install.peardock.boats | bash -s -- --client --yes
curl -fsSL https://install.peardock.boats | bash -s -- --both --yes
| Flag / env | Meaning |
|---|---|
--server / -s | Install peardock-server (Linux โ /opt/peardock + systemd) |
--client / -c | Install desktop client |
--both / -b | Install both |
--yes / -y | Non-interactive defaults |
--tag rolling | Release tag (default: rolling) |
PEARDOCK_SERVER_DIR | Server install path (default /opt/peardock) |
PEARDOCK_VERSION | Pin asset version (default: auto from release) |
peardock-server-VERSION-linux-ARCH.tar.gz from the rolling release/opt/peardock/peardock-serverpeardock and adds it to the docker group (for /var/run/docker.sock)/etc/systemd/system/peardock.service and optionally enables it/opt/peardock/.env (mode 600)sudo systemctl status peardock
sudo journalctl -u peardock -f
# Public key is printed on first start. Share it with clients.
peardock-client-VERSION-HOST.tar.gzpeardock.app under ~/Applications (clears quarantine via xattr)~/.local/share/peardock, symlink in ~/.local/bin, desktop entryBare standalone HyperDHT control plane. Run on the host with Docker. Identity from SERVER_SEED / .env.
Asset pattern: peardock-server-VERSION-HOST.tar.gz
Desktop GUI (Electron). Connect with the server public key. Multi-peer fleet, tunnels, terminals, deploy wizard.
Asset pattern: peardock-client-VERSION-HOST.tar.gz
Browse all assets on the
rolling
release. Each tarball has a sibling .sha256 checksum.
# Example: Linux x64 server
curl -fLO https://git.ssh.surf/snxraven/peardock/releases/download/rolling/peardock-server-2.0.1-linux-x64.tar.gz
curl -fLO https://git.ssh.surf/snxraven/peardock/releases/download/rolling/peardock-server-2.0.1-linux-x64.tar.gz.sha256
sha256sum -c peardock-server-*.sha256
tar -xzf peardock-server-*.tar.gz
# โ peardock-server binary
git clone https://git.ssh.surf/snxraven/peardock.git
cd peardock
npm ci
npm run server # control plane (needs Docker socket)
npm run start:client # Electron GUI
# or
npm run make # all 64-bit server + client hosts โ out/
Node.js โฅ 20 required. See Quick start and Operator guide for production.
xattr -cr ~/Applications/peardock.app.
Developer ID re-sign: npm run sign:macos -- out/peardock-darwin-arm64/peardock.app
peardock must reach
/var/run/docker.sock (usually group docker, mode 660).
The installer adds peardock to that group. If stats/start fail with permission errors:
sudo usermod -aG docker peardock && sudo systemctl restart peardock
(and restart Docker if the group was just created).