Skip to main content

Docker Compose Refresher

@shelson/docker-compose-refresherv2026.06.28.4· 9d agoMODELS
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.

02Models1
@shelson/docker-compose-refresherv2026.06.28.4compose_refresher.ts

Global Arguments

ArgumentTypeDescription
hostsarrayHosts to scan for compose projects
matchTagsarrayImage tags (after the colon) that trigger a refresh
alsoRefreshUntaggedbooleanAlso refresh image refs with no explicit tag (docker treats these as :latest)
denyImagePatternsarraySubstring patterns (case-insensitive); matching images are never refreshed
maxPerRunnumberHard cap on refreshes per run. 0 = unlimited.
healthCheckTimeoutSecnumberSeconds to wait for a recreated container to reach running/healthy before flagging unhealthy
dockerBinstringDocker 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).
ArgumentTypeDescription
applybooleanIf true, actually pull + recreate. If false (default), dry-run.
skipImagesarrayImage refs to spare this run (exact match).
onlyProjectsarrayRestrict to these compose project names (empty = all).
onlyHostsarrayRestrict to these host names (empty = all).

Resources

update_log(infinite)— Per-run log of refresh actions (dry-run or applied)
03Previous Versions3
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