Skip to main content

Docker Host

@lint/docker-hostv2026.08.09.1· 13d agoMODELS
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.

02Models1
@lint/docker-hostv2026.08.09.1docker-host.ts

Global Arguments

ArgumentTypeDescription
nodeIpMapanyMap of PVE node name → IP. Pass as JSON:
sshUserstring
identityFilestring
clusterModelNamestringCluster model to read guest tags from; we filter to LXCs tagged 'docker'.
filterTagstringCluster guest tag to consider as docker hosts
selfModelNamestringThis instance's own name — used to self-read the latest heal_ledger via the swamp CLI.
excludeHealHosts?anyLXC names autoheal must never touch (JSON array). For hosts whose containers
denyHealPatterns?anySubstrings: if any matches a container name or image, autoheal will not restart it.
healCooldownMinutesnumberMinimum gap between autoheal restarts of the same container
maxHealsPerDaynumberPer-container: restarts in a trailing 24h window before autoheal gives up and escalates instead
maxHealsPerRunnumberGlobal per-run restart cap. Mass-unhealthy usually means host-level trouble (Ceph stall, OOM) — a restart storm makes it worse.
massUnhealthyThresholdnumberCircuit breaker: if MORE than this many containers are unhealthy fleet-wide, restart nothing and escalate once — that's host-level trouble, not container trouble.
minUptimeMinutesnumberContainer must have been up this long before 'unhealthy' is trusted — lets slow starters and generous start_periods settle
healWaitTimeoutSecnumberHow long to wait after a restart for running+healthy before flagging still_unhealthy
discordWebhookUrl?stringDiscord webhook for autoheal actions/escalations (vault-resolved). null = no posts.
discordUsernamestringBot 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).
ArgumentTypeDescription
applybooleanIf true, actually restart. If false (default), plan only.
priorLedger?anyOverride the ledger for this run (testing/simulation). Normally OMIT —
skipContainers?anyContainer 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 Versions1
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