From 8b5a519717feafd80767648a413ae4cdd3f40cf4 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 16:06:08 +0000 Subject: [PATCH 1/2] setup.sh: always install Docker, not only on first base run The Docker check+install was inside the else branch that only runs when base has never been installed. On re-runs (base already present) Docker was silently skipped and only warned about. Move the check outside the if/else so Docker is always installed if missing, regardless of whether base was skipped. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01LQJBvqzXeyuhhAcAA3Q5Wq --- setup.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/setup.sh b/setup.sh index ce2f0f1..da2667b 100755 --- a/setup.sh +++ b/setup.sh @@ -222,10 +222,13 @@ else fi run_service base - if ! command -v docker >/dev/null 2>&1; then - log_warning "Docker is not installed. Containerized services need it." - echo " Install with: curl -fsSL https://get.docker.com | sh" - fi +fi + +# Always ensure Docker is present — base may have been installed before Docker +# was added to it, or a previous install may have failed. +if ! command -v docker &>/dev/null && ! [ -x /usr/bin/docker ]; then + log_info "Docker not found — installing now..." + require_docker fi # 3) Offer site defaults wizard if .config has no SITE_TZ yet (first run). From 3d976b84e36f4a4be8510a99a27bf2f6b2ffc7be Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Jul 2026 16:08:00 +0000 Subject: [PATCH 2/2] base.sh: surface Docker install failures instead of swallowing them require_docker returning non-zero was silently ignored (no set -e). Add explicit warning so the operator sees the failure; setup.sh already has an unconditional Docker check after base that will retry. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01LQJBvqzXeyuhhAcAA3Q5Wq --- services/base.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/base.sh b/services/base.sh index f06d1ec..ec5814a 100644 --- a/services/base.sh +++ b/services/base.sh @@ -31,7 +31,7 @@ install_base() { install_glow # ── Docker ─────────────────────────────────────────────────────────────── - require_docker + require_docker || log_warning "Docker install failed — will retry after base setup" # ── OpenSSH server ─────────────────────────────────────────────────────── _base_setup_ssh