chore: maintenance pass — legacy tags, entrypoint, Dockerfile, README#2
Merged
Conversation
…ADME rewrite Several small improvements collected after this morning's bookworm bump: * CI: keep amd64-latest / arm64v8-latest / arm32v7-latest aliases in sync with `latest` by adding them to docker/metadata-action. These 2021-era tags still see active pulls, so we don't want them to drift again. * entrypoint.sh: `upsd -D` (debug mode) → `upsd -F` (foreground), the canonical flag. Also trap EXIT to call `upsdrvctl stop` so the driver is stopped cleanly on container shutdown instead of leaking. * Dockerfile: collapse the install + config + mkdir RUNs into a single layer, add a HEALTHCHECK via `upsc`, install `nut-client` so `upsc` is available at runtime. * README: rewritten — fused the duplicate "Project Status" + "AI Disclaimer" + "Version Information" sections into one short note, promoted docker-compose as the primary quick-start, dropped the decorative "Features" block. ~30% shorter, less repetition. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up cleanup after the bookworm bump in #1. Four small changes bundled in one PR for review convenience — feel free to drop the README rewrite if you'd rather keep the original tone.
Changes
1. Keep legacy alias tags in sync automatically (
docker-publish.yml)amd64-latest,arm64v8-latest,arm32v7-latestare 2021-era tags that still get pulled. Added them todocker/metadata-actionso every default-branch publish pushes the same multi-arch manifest to all five tags atomically. No drift, no manualimagetools createnext time.2.
entrypoint.sh: foreground flag + clean driver shutdownupsd -D→upsd -F.-Draises debug verbosity;-Fis the actual "stay in foreground" flag. Less log noise in production.trap 'upsdrvctl stop' EXITso the USB driver is stopped ondocker stopinstead of being left for the kernel to reap.3.
Dockerfile: HEALTHCHECK + fewer layersHEALTHCHECKinvokingupsc "$NAME@localhost"(needsnut-client, now added to apt). Compose /docker psnow report real health.RUNblocks (install, sed/echo config, mkdir+chown) into one. Slight image-size win.COPY --chmod=755 entrypoint.sh /entrypoint.shreplaces the separatechmodRUN.4. README rewrite (~30% shorter)
Test plan
Test Buildworkflow passes on multi-arch.Build and Publishviaworkflow_dispatchand confirm Docker Hub shows all five tags (latest,YYYY.MM, plus the three legacy aliases) pointing at the same digest.healthystate indocker ps-Dremoved)docker stopreturns within a few seconds (driver trap kicks in)🤖 Generated with Claude Code