From 3e53cc3225defc17509d7ddce7a43d4bfdff7af7 Mon Sep 17 00:00:00 2001 From: kelin Date: Wed, 14 Jan 2026 02:04:56 -0500 Subject: [PATCH] Remove automatic deployment prompt from setup script Changes: - scripts/setup-homelab.sh: Remove interactive deployment prompt - Users must now run deploy script manually - Simplifies both scripts (no sudo workarounds needed) - Clearer two-step process: setup then deploy - Documentation updates: - README.md: Updated step 3-4 with manual deployment - docs/getting-started.md: Removed step 6 (log out), clarified steps - docs/manual-setup.md: Added sudo to deploy command - docs/troubleshooting/COMMON-ISSUES.md: Added sudo to all deploy commands Rationale: - Automatic deployment via 'su -' cannot work with sudo requirement - Manual two-step process is clearer and more reliable - Setup focuses on configuration, deploy focuses on services --- README.md | 4 +-- docs/getting-started.md | 8 ++--- docs/manual-setup.md | 2 +- docs/troubleshooting/COMMON-ISSUES.md | 6 ++-- scripts/setup-homelab.sh | 45 +++++---------------------- 5 files changed, 17 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 8fbfdbd..cd74495 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia f - **Create admin user and password hash** - Set up directory structure and Docker networks - **Important:** Log out and back in (or run `newgrp docker`) after setup completes. + **Important:** If NVIDIA drivers were installed, reboot before continuing. Otherwise, proceed to step 4. 4. **Run deployment script:** @@ -113,7 +113,7 @@ The infrastructure uses Traefik for reverse proxy with automatic SSL, Authelia f - Open Dockge in your browser ```bash - ./scripts/deploy-homelab.sh + sudo ./scripts/deploy-homelab.sh ``` **Note:** The script will prompt to optionally pre-pull images for additional stacks. This takes time but speeds up future deployments. Default is no. Wildcard certificate generation takes 2-5 minutes. diff --git a/docs/getting-started.md b/docs/getting-started.md index 581efcf..5478bfd 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -67,13 +67,11 @@ For most users, the automated setup script handles everything: - Set up Docker networks (homelab, traefik, dockerproxy, media) - Detect NVIDIA GPU and offer driver installation -6. **Log out and back in** (or run `newgrp docker`) - > Don't skip this step! - Required for Docker group permissions. + **Important:** If NVIDIA drivers were installed, reboot your system now before continuing. -7. **Deploy homelab**: +6. **Deploy homelab**: ```bash - ./scripts/deploy-homelab.sh + sudo ./scripts/deploy-homelab.sh ``` **The deploy script automatically:** diff --git a/docs/manual-setup.md b/docs/manual-setup.md index 8c0a10b..1fbca64 100644 --- a/docs/manual-setup.md +++ b/docs/manual-setup.md @@ -210,7 +210,7 @@ If manual setup works, you can switch to the automated scripts for future update ```bash # Just run the deploy script cd ~/AI-Homelab -./scripts/deploy-homelab.sh +sudo ./scripts/deploy-homelab.sh ``` The deploy script is idempotent - it won't break existing configurations. diff --git a/docs/troubleshooting/COMMON-ISSUES.md b/docs/troubleshooting/COMMON-ISSUES.md index caa0d43..eb3450e 100644 --- a/docs/troubleshooting/COMMON-ISSUES.md +++ b/docs/troubleshooting/COMMON-ISSUES.md @@ -96,7 +96,7 @@ docker compose up -d **Solution:** ```bash # Re-run deployment script (safe - won't affect running services) -./scripts/deploy-homelab.sh +sudo ./scripts/deploy-homelab.sh # Or manually fix: cd /opt/stacks/dashboards/homepage @@ -182,7 +182,7 @@ sudo systemctl stop systemd-resolved ls -la /opt/stacks/ # Re-run deployment to copy stacks -./scripts/deploy-homelab.sh +sudo ./scripts/deploy-homelab.sh ``` ## Performance Issues @@ -235,7 +235,7 @@ sudo ./scripts/reset-test-environment.sh # Then re-run setup and deploy sudo ./scripts/setup-homelab.sh -./scripts/deploy-homelab.sh +sudo ./scripts/deploy-homelab.sh ``` ### Partial Reset (Single Stack) diff --git a/scripts/setup-homelab.sh b/scripts/setup-homelab.sh index 34fd91a..35d8310 100755 --- a/scripts/setup-homelab.sh +++ b/scripts/setup-homelab.sh @@ -587,43 +587,14 @@ echo "" log_info "Setup complete!" echo "" -# Prompt to run deployment script -if [ "${NVIDIA_REBOOT_NEEDED:-false}" != true ]; then - echo "" - read -p "Would you like to run the deployment script now? [Y/n]: " -n 1 -r RUN_DEPLOY - echo "" - - # Default to yes if empty - RUN_DEPLOY=${RUN_DEPLOY:-Y} - - if [[ $RUN_DEPLOY =~ ^[Yy]$ ]]; then - log_info "Starting deployment script..." - echo "" - - # Check if user needs to log out first for Docker group - if ! groups "$ACTUAL_USER" | grep -q docker; then - log_warning "You need to log out and back in for Docker group permissions." - log_info "Run this command after logging back in:" - echo "" - echo " cd ~/AI-Homelab && ./scripts/deploy-homelab.sh" - echo "" - else - # Run deployment script as the actual user with sudo - cd "$(dirname "$0")/.." || exit 1 - su - "$ACTUAL_USER" -c "cd $PWD && sudo ./scripts/deploy-homelab.sh" - fi - else - log_info "Deployment skipped. Run it manually when ready:" - echo "" - echo " cd ~/AI-Homelab" - echo " ./scripts/deploy-homelab.sh" - echo "" - fi -else +# Instructions for deployment +if [ "${NVIDIA_REBOOT_NEEDED:-false}" = true ]; then log_info "Please reboot your system for NVIDIA drivers, then run:" - echo "" - echo " cd ~/AI-Homelab" - echo " ./scripts/deploy-homelab.sh" - echo "" +else + log_info "Next step - deploy your homelab services:" fi +echo "" +echo " cd ~/AI-Homelab" +echo " sudo ./scripts/deploy-homelab.sh" +echo ""