Docker Compose Refresher
@shelson/docker-compose-refresherv2026.06.28.4
01README
Keep :latest-tagged (and untagged) services in local or SSH-reachable docker compose projects up to date. Compares each running container's image digest against the registry (docker buildx imagetools) so already-current services are left untouched, then pulls and recreates only stale ones with a health-gate. Dry-run by default. Supports sudo-prefixed docker and per-host SSH config.
02Models
@shelson/docker-compose-refresherv2026.06.28.4compose_refresher.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| hosts | array | Hosts to scan for compose projects |
| matchTags | array | Image tags (after the colon) that trigger a refresh |
| alsoRefreshUntagged | boolean | Also refresh image refs with no explicit tag (docker treats these as :latest) |
| denyImagePatterns | array | Substring patterns (case-insensitive); matching images are never refreshed |
| maxPerRun | number | Hard cap on refreshes per run. 0 = unlimited. |
| healthCheckTimeoutSec | number | Seconds to wait for a recreated container to reach running/healthy before flagging unhealthy |
| dockerBin | string | Docker binary name/path on each host |
fn refresh(apply: boolean, skipImages: array, onlyProjects: array, onlyHosts: array)
Discover compose projects on every host, find services whose image tag is :latest (or untagged), compare local vs registry digests (buildx imagetools) to confirm an update is actually pending, then pull + recreate. Dry-run by default (apply=false).
| Argument | Type | Description |
|---|---|---|
| apply | boolean | If true, actually pull + recreate. If false (default), dry-run. |
| skipImages | array | Image refs to spare this run (exact match). |
| onlyProjects | array | Restrict to these compose project names (empty = all). |
| onlyHosts | array | Restrict to these host names (empty = all). |
Resources
update_log(infinite)— Per-run log of refresh actions (dry-run or applied)
03Previous Versions
2026.06.28.3Jun 27, 2026
Added 1, removed 1 models
2026.06.28.2Jun 27, 2026
2026.06.28.1Jun 27, 2026
04Stats
A
100 / 100
Downloads
0
Archive size
21.4 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