From d4e6ce682bd9bbf5b72e9e5f3620c0dc7f68e1bb Mon Sep 17 00:00:00 2001 From: EZ-Homelab Date: Thu, 22 Jan 2026 20:07:31 -0500 Subject: [PATCH] fix: Skip Docker/Docker Compose installation when already installed - Update ez-homelab.sh Step 3: Check if Docker is installed before attempting installation - Update ez-homelab.sh Step 4: Check if Docker Compose is installed before attempting installation - Update setup-homelab.sh Step 3: Improve Docker check to verify service status and start if needed - Both scripts now skip installation and notify when components are already available - Maintains backward compatibility and proper service management --- scripts/ez-homelab.sh | 26 ++++++++++++++++++++++---- scripts/setup-homelab.sh | 11 ++++++++++- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/scripts/ez-homelab.sh b/scripts/ez-homelab.sh index dbd8219..fe4c645 100755 --- a/scripts/ez-homelab.sh +++ b/scripts/ez-homelab.sh @@ -230,13 +230,31 @@ system_setup() { # Step 3: Install Docker log_info "Step 3/10: Installing Docker..." - curl -fsSL https://get.docker.com | sh - usermod -aG docker "$ACTUAL_USER" + if command -v docker &> /dev/null && docker --version &> /dev/null; then + log_success "Docker is already installed ($(docker --version))" + # Check if Docker service is running + if ! systemctl is-active --quiet docker; then + log_warning "Docker service is not running, starting it..." + systemctl start docker + systemctl enable docker + log_success "Docker service started and enabled" + else + log_info "Docker service is already running" + fi + else + curl -fsSL https://get.docker.com | sh + usermod -aG docker "$ACTUAL_USER" + fi # Step 4: Install Docker Compose log_info "Step 4/10: Installing Docker Compose..." - curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose + if command -v docker-compose &> /dev/null && docker-compose --version &> /dev/null; then + log_success "Docker Compose is already installed ($(docker-compose --version))" + else + curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + log_success "Docker Compose installed ($(docker-compose --version))" + fi # Step 5: Configure UFW firewall log_info "Step 5/10: Configuring firewall..." diff --git a/scripts/setup-homelab.sh b/scripts/setup-homelab.sh index 815975c..6dd7621 100755 --- a/scripts/setup-homelab.sh +++ b/scripts/setup-homelab.sh @@ -79,7 +79,16 @@ echo "" # Step 3: Install Docker log_info "Step 3/10: Installing Docker..." if command -v docker &> /dev/null && docker --version &> /dev/null; then - log_warning "Docker is already installed ($(docker --version))" + log_success "Docker is already installed ($(docker --version))" + # Check if Docker service is running + if ! systemctl is-active --quiet docker; then + log_warning "Docker service is not running, starting it..." + systemctl start docker + systemctl enable docker + log_success "Docker service started and enabled" + else + log_info "Docker service is already running" + fi else # Add Docker's official GPG key install -m 0755 -d /etc/apt/keyrings