diff --git a/scripts/04_wizard.sh b/scripts/04_wizard.sh index 18289f0..88dc861 100755 --- a/scripts/04_wizard.sh +++ b/scripts/04_wizard.sh @@ -5,12 +5,8 @@ # Guides the user through selecting which services to install using whiptail. # # Features: -# - Quick Start mode: pre-configured set (n8n + monitoring + backups) -# - Custom mode: multi-screen selection grouped by category -# - Core Services (n8n, Flowise, Dify, etc.) -# - AI & ML Services (Ollama with CPU/GPU, ComfyUI, etc.) -# - Databases & Vector Stores (Qdrant, Weaviate, Neo4j, etc.) -# - Infrastructure & Monitoring (Grafana, Prometheus, Portainer, etc.) +# - Single-screen checklist for service selection +# - Default services: n8n, portainer, monitoring, postgresus # - Preserves previously selected services on re-run # - Updates COMPOSE_PROFILES in .env file # @@ -27,38 +23,6 @@ require_whiptail # Set DEBIAN_FRONTEND for whiptail save_debian_frontend -# --- Quick Start Pack Selection --- -# First screen: choose between Quick Start Pack or Custom Selection - -PACK_CHOICE=$(whiptail --title "Installation Mode" --menu \ - "Choose how you want to set up your services:\n\nQuick Start uses a recommended set of services.\nCustom lets you pick individual services." 15 70 2 \ - "quick" "Quick Start (Recommended: n8n + monitoring + backups + management)" \ - "custom" "Custom Selection (Choose individual services)" \ - 3>&1 1>&2 2>&3) - -pack_exitstatus=$? -if [ $pack_exitstatus -ne 0 ]; then - log_info "Installation cancelled by user." - exit 0 -fi - -# If Quick Start is selected, set the Base Pack profiles and exit -if [ "$PACK_CHOICE" == "quick" ]; then - log_info "Quick Start Pack selected: n8n + monitoring + postgresus + portainer" - - # Base Pack profiles - COMPOSE_PROFILES_VALUE="n8n,monitoring,postgresus,portainer" - - # Update COMPOSE_PROFILES in .env - update_compose_profiles "$COMPOSE_PROFILES_VALUE" - log_info "The following Docker Compose profiles will be active: ${COMPOSE_PROFILES_VALUE}" - - restore_debian_frontend - exit 0 -fi - -# --- Custom Selection Mode (existing logic) --- - # --- Read current COMPOSE_PROFILES from .env --- CURRENT_PROFILES_VALUE="" if [ -f "$ENV_FILE" ]; then diff --git a/start_services.py b/start_services.py index b134c16..982b2d8 100755 --- a/start_services.py +++ b/start_services.py @@ -10,10 +10,7 @@ so they appear together in Docker Desktop. import os import subprocess import shutil -import time -import argparse import platform -import sys import yaml from dotenv import dotenv_values @@ -207,7 +204,7 @@ def start_supabase(): return print("Starting Supabase services...") run_command([ - "docker", "compose", "-p", "localai", "-f", "supabase/docker/docker-compose.yml", "up", "-d" + "docker", "compose", "-p", "localai", "-f", "supabase/docker/docker-compose.yml", "up", "-d", "--wait" ]) def start_dify(): @@ -217,7 +214,7 @@ def start_dify(): return print("Starting Dify services...") run_command([ - "docker", "compose", "-p", "localai", "-f", "dify/docker/docker-compose.yaml", "up", "-d" + "docker", "compose", "-p", "localai", "-f", "dify/docker/docker-compose.yaml", "up", "-d", "--wait" ]) def start_local_ai(): @@ -239,8 +236,9 @@ def start_local_ai(): # Now, start the services using the newly built images. No --build needed as we just built. # Use --remove-orphans to clean up containers from profiles that are no longer active + # Use --wait to wait for containers to be healthy before returning print("Starting containers...") - up_cmd = ["docker", "compose", "-p", "localai"] + compose_files + ["up", "-d", "--remove-orphans"] + up_cmd = ["docker", "compose", "-p", "localai"] + compose_files + ["up", "-d", "--remove-orphans", "--wait"] run_command(up_cmd) def generate_searxng_secret_key(): @@ -400,19 +398,13 @@ def main(): stop_existing_containers() - # Start Supabase first + # Start Supabase first (--wait flag ensures it's ready before continuing) if is_supabase_enabled(): start_supabase() - # Give Supabase some time to initialize - print("Waiting for Supabase to initialize...") - time.sleep(10) - - # Start Dify services + + # Start Dify services (--wait flag ensures it's ready before continuing) if is_dify_enabled(): start_dify() - # Give Dify some time to initialize - print("Waiting for Dify to initialize...") - time.sleep(10) # Then start the local AI services start_local_ai() diff --git a/welcome/index.html b/welcome/index.html index 1b188b3..e3f7eb1 100644 --- a/welcome/index.html +++ b/welcome/index.html @@ -134,15 +134,9 @@

Keep your services up to date with the latest features and security patches:

-
-
- make update-preview - Preview available updates before applying -
-
- make update - Update all services to the latest versions -
+
+ make update + Update all services to the latest versions