Skip to content

improve: overhaul setup-docker.sh with env vars, dry-run, daemon mgmt, better idempotency#1

Open
hermes-denkobot wants to merge 1 commit into
julweber:mainfrom
hermes-denkobot:improve/setup-docker
Open

improve: overhaul setup-docker.sh with env vars, dry-run, daemon mgmt, better idempotency#1
hermes-denkobot wants to merge 1 commit into
julweber:mainfrom
hermes-denkobot:improve/setup-docker

Conversation

@hermes-denkobot

Copy link
Copy Markdown

Overhauled setup-docker.sh with significant improvements:

New Environment Variables (8 total)

  • DOCKER_APT_KEY_URL, DOCKER_KEY_PATH, DOCKER_LIST_PATH, DOCKER_REPO_URL — custom paths
  • DOCKER_PACKAGES — custom package list
  • DOCKER_PACKAGES_VERSION — version pinning for reproducible installs
  • DOCKER_MIRROR — custom mirror support
  • DOCKER_ENABLE_SERVICE — auto-start Docker daemon

New Features

  • --dry-run flag — preview mode
  • Docker daemon auto-start via systemctl enable --now docker
  • Docker daemon.json config with log rotation defaults
  • Version pinning via DOCKER_PACKAGES_VERSION

Bug Fixes

  • Replaced lsb_release with /etc/os-release parsing (works on minimal installs)
  • Removed slow docker run hello-world — replaced with instant docker --version checks
  • Fixed docker group messaging with sg docker alternative

Reliability

  • dpkg-query instead of dpkg -l for reliable package detection
  • GPG key validity check before re-downloading
  • --no-install-recommends for minimal installs
  • Full component verification (Docker, containerd, Compose, Buildx)

…, better idempotency

- Add 8 environment variable overrides
- Add --dry-run flag
- Docker daemon start/enable via systemctl
- Faster verification (replaced hello-world with --version checks)
- Better idempotency (dpkg-query, GPG key validation, repo list check)
- Docker daemon.json with log rotation defaults
- --no-install-recommends for minimal installs
- Version pinning support via DOCKER_PACKAGES_VERSION
- Custom mirror support
- Replaced lsb_release with /etc/os-release parsing
- Full component verification (Docker, containerd, Compose, Buildx)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant