No notifications
Peer-to-peer Docker control plane over HyperDHT and protomux-rpc. No central server. No cloud account.
PearDock
Reconnecting to your saved servers over HyperDHT…
Starting…
A short tour of what to do next:
Overview
Live engine health, storage, and activity on the active peer
Templates, compose stacks, and custom images
Lifecycle, logs, stats, and terminals
| Name | Image | Updates | Status | CPU (%) | Memory (MB) | IP Address | Actions |
|---|
Create and start a container from an image
Local Docker images on this host · remote catalogs live under Registry
| Repository | Tags | Image ID | Size | Created | Usage | Actions |
|---|
Credentials, Docker Hub search, and remote repository browser (tags, manifests, cleanup)
| Tag | Digest | Size | Actions |
|---|
Search public Hub images via the engine API, then pull or open tags in the browser.
Encrypted at rest on the server. Use for private pull/push and remote API calls.
Log in for this session only (does not persist unless you also store).
DELETE /v2/…/manifests/<digest>.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 | |
|---|---|---|---|---|
| Loading… | ||||
| Hostname | Role | Status | Availability | ID |
|---|---|---|---|---|
| Loading… | ||||
| Service | Node | Desired | Current | ID |
|---|---|---|---|---|
| Loading… | ||||
| Name | Created | ID |
|---|---|---|
| Loading… | ||
| Name | Created | ID |
|---|---|---|
| Loading… | ||
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 Registry (browser, credentials, 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, backup & restore, catalogs, connections, and about
Highlights, focus rings, active nav, and progress bars. Applies immediately.
Hide containers from the UI when they have matching labels. Applies globally (Containers list, dashboard counts, bulk selection). Leave value empty to match any value for that label key.
Long Docker ops (deploy, pull, compose) always use the floating Jobs tray bottom-right. Configure how long cards stay open and whether short status lines open the tray.
0 = keep until the next job.When a peer drops, the client still redials in the background (see Behavior → max tries). These options only control how noisy that process is — Fleet status always updates.
In-app notification center on this client (not webhooks).
Experimental. Runs on the PearDock server — Discord, Slack, Teams, ntfy, Gotify, Telegram, or generic HTTPS. Fires even when this UI is closed. Requires an admin session. Channels, rules, and secrets are backed up in client packages when included.
Changes apply live on the server — no restart and no Save button.
Delivery targets. Secrets are stored only on the server (redacted in the UI after save).
What triggers a notification. Built-in rules cover container die/OOM, healthchecks, Docker daemon down, compose stack degradation, restarts, and optional disk pressure. Fully editable.
Last alerts fired by this server (success and failures).
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).
HyperDHT public keys for this client — click a peer to make it active.
npm run server.
Clear all configured peers from this client. You will need to re-add public keys to connect again.
Manage the full peer list under .
Read-only snapshot from the connected peer (env on the server).
Defaults for container exec / docker terminals in this client.
Package client preferences, saved peers, templates, and related local data into a portable JSON archive. Backups may include peer public keys and admin seeds — store them securely.
Packages include settings, peers, templates, notifications, alerts/webhooks (channels, rules, secrets), and optionally the client DHT identity seed. Store backup files securely.
Local history is rotated automatically when you create a backup. Pinned backups are never removed by age or count limits. Retention and auto-backup options apply as soon as you change them.
After a restore that includes peers or settings, reconnect peers and re-open views if the UI looks stale.
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.
Owned and engineered by HoneyPeer, LLC (DeKalb County, Georgia, USA).
Legal: legal@honeypeer.com
Lead developer: Raven Scott · raven-scott.fyi
1h).
Are you sure?
Runs docker export | docker import on the host —
collapsing every image layer and container write into one new layer.
History and parent layers are discarded (unlike Commit). Ideal for baking runtime
state into a slim, pushable artifact.
host:5555/name).
repository:tag
ttl.sh/myapp:1h).
This form was replaced by the smart Create network dialog.