No notifications
Peer-to-peer Docker control plane over HyperDHT and protomux-rpc. No central server. No cloud account.
Reconnecting to your saved servers…
Starting…
A short tour of what to do next:
Saved HyperDHT peers for this client — click a peer to make it active
npm run server.
Overview
Live engine health, storage, and activity on the active peer
Templates, compose stacks, and custom images
Lifecycle, logs, stats, and terminals
Image updates: indicators compare local digests to the registry .
| Name | Image | Updates | Status | CPU (%) | Memory (MB) | IP Address | Actions |
|---|
Create and start a container from an image
Local images, pull/push, and registry vault
| Repository | Tags | Image ID | Size | Created | Usage | Actions |
|---|
Encrypted at rest on the server. Use a credential for private pull/push, or activate it for the session.
Log in for this session only (does not persist unless you also store).
Bridge, overlay, and container networks
| Name | Driver | Scope | Subnet | Gateway | Containers | Actions |
|---|
Compose stacks on the remote host
| Stack Name | Services | Containers | Status | Actions |
|---|---|---|---|---|
| No stacks found. Deploy a stack to get started. | ||||
Services, nodes, and tasks (on by default; set ENABLE_SWARM=0 to disable)
| Name | Image | Replicas | ID | |
|---|---|---|---|---|
| — | ||||
| Hostname | Role | Status | Availability | ID |
|---|---|---|---|---|
| — | ||||
| Service | Node | Desired | Current | ID |
|---|---|---|---|---|
| — | ||||
| Name | Created | ID |
|---|---|---|
| — | ||
| Name | Created | ID |
|---|---|---|
| — | ||
Persistent storage volumes
| Name | Driver | Mountpoint | Usage | Actions |
|---|
Concurrent multi-host health and Docker status
Tag peers with an environment (prod/staging/dev) on each card for multi-host grouping.
Peer invites, revoke list, registry vault
Revoked peer public keys cannot connect. Unrevoke to allow them again (they keep no role until re-invited or re-registered).
Full registry manager lives under Images → Registries (test, session login, Hub search). Quick store here:
Search Docker Hub from the active peer, then pull. Use vault credentials for private registries via pull.
Live Docker engine activity on the active peer
Engine info, capacity, and process metrics
Interval jobs on the server (min 1 minute). Useful for periodic prune / Docker ping — not external webhooks.
Share local ports over Holesail (P2P) without opening the firewall
ENABLE_HOLESAIL=0 on the server to disable).
Exposes a host port via an hs:// key. Anyone with the key can reach that service through Holesail.
hs:// URL.npx holesail <url> (binds a local port).http://127.0.0.1:<local-port> for HTTP services.Client preferences, catalogs, connections, and about
Client-side defaults for local connect. Server tunnels are controlled by the peer
(ENABLE_HOLESAIL, allowlist, max tunnels).
format JSON catalogs (templates.json). Lists are merged and de-duplicated
(same image / stack repo / title).
Read-only snapshot from the connected peer (env on the server).
Clear all configured peers from this client. You will need to re-add public keys to connect again.
Defaults for container exec / docker terminals in this client.
Decentralized Docker control plane over HyperDHT + protomux-rpc.
Version: 2.0.1 · License: AGPL-3.0
PearDock and Holesail tunnels are licensed under AGPL-3.0.
Documented in docs/OPERATOR.md:
ENABLE_HOLESAIL, ENABLE_SWARM, ENABLE_PLUGINS,
PEARDOCK_DEFAULT_ROLE, PEARDOCK_ADMIN_KEYS,
PEARDOCK_PEER_ALLOWLIST, PEARDOCK_BROWSE_ROOTS,
PEARDOCK_MAX_TUNNELS, PEARDOCK_TUNNEL_HOSTS, PEARDOCK_AUDIT.
Are you sure?
This form was replaced by the smart Create network dialog.