Docker Host
@lint/docker-hostv2026.08.09.1
01README
Docker container discovery + autoheal across a Proxmox cluster — SSHes to each PVE node, runs pct exec <vmid> docker ps on every docker-tagged LXC; the autoheal method restarts unhealthy containers within deny-list/cooldown/cap guardrails.
02Models
@lint/docker-hostv2026.08.09.1docker-host.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| nodeIpMap | any | Map of PVE node name → IP. Pass as JSON: |
| sshUser | string | |
| identityFile | string | |
| clusterModelName | string | Cluster model to read guest tags from; we filter to LXCs tagged 'docker'. |
| filterTag | string | Cluster guest tag to consider as docker hosts |
| selfModelName | string | This instance's own name — used to self-read the latest heal_ledger via the swamp CLI. |
| excludeHealHosts? | any | LXC names autoheal must never touch (JSON array). For hosts whose containers |
| denyHealPatterns? | any | Substrings: if any matches a container name or image, autoheal will not restart it. |
| healCooldownMinutes | number | Minimum gap between autoheal restarts of the same container |
| maxHealsPerDay | number | Per-container: restarts in a trailing 24h window before autoheal gives up and escalates instead |
| maxHealsPerRun | number | Global per-run restart cap. Mass-unhealthy usually means host-level trouble (Ceph stall, OOM) — a restart storm makes it worse. |
| massUnhealthyThreshold | number | Circuit breaker: if MORE than this many containers are unhealthy fleet-wide, restart nothing and escalate once — that's host-level trouble, not container trouble. |
| minUptimeMinutes | number | Container must have been up this long before 'unhealthy' is trusted — lets slow starters and generous start_periods settle |
| healWaitTimeoutSec | number | How long to wait after a restart for running+healthy before flagging still_unhealthy |
| discordWebhookUrl? | string | Discord webhook for autoheal actions/escalations (vault-resolved). null = no posts. |
| discordUsername | string | Bot name shown on Discord posts |
fn sync()
For each docker-tagged LXC, SSH to its PVE node and pct exec docker ps
fn autoheal(apply: boolean, priorLedger?: any, skipContainers?: any)
Restart unhealthy containers across docker-tagged LXCs (docker-autoheal).
| Argument | Type | Description |
|---|---|---|
| apply | boolean | If true, actually restart. If false (default), plan only. |
| priorLedger? | any | Override the ledger for this run (testing/simulation). Normally OMIT — |
| skipContainers? | any | Container names to spare this run. JSON: \ |
Resources
inventory(infinite)— All docker containers across docker-tagged LXCs (via PVE pct exec)
summary(infinite)— Counts grouped by docker host LXC
heal_log(infinite)— Per-run autoheal decisions and outcomes (dry-run or applied)
heal_ledger(infinite)— Autoheal restart history per container — cooldown, sticky give-up, and Discord-suppression state
03Previous Versions
2026.05.21.1
04Stats
A
100 / 100
Downloads
10
Archive size
30.2 KB
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned
05Platforms
06Labels