Files
n8n-install/scripts/06_run_services.sh
Yury Kossakovsky 04e70cee2d refactor(utils): improve whiptail dialogs and logging utilities
- add adaptive terminal sizing for all whiptail dialogs (wt_get_size)
- add new wrapper functions: wt_checklist, wt_radiolist, wt_menu
- add safe parser wt_parse_choices to replace eval
- improve NEWT_COLORS theme with better contrast (brightgreen/brightcyan)
- add new logging functions: log_header, log_subheader, log_divider, log_box
- add spinner animation utilities for progress indication
- expand color palette with bright variants and text styles
- update 04_wizard.sh to use new whiptail wrappers
2025-12-12 13:43:20 -07:00

53 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# =============================================================================
# 06_run_services.sh - Service launcher
# =============================================================================
# Starts all selected services using Docker Compose via start_services.py.
#
# Pre-flight checks:
# - Verifies .env, docker-compose.yml, and Caddyfile exist
# - Ensures Docker daemon is running
# - Makes start_services.py executable if needed
#
# The actual service orchestration is handled by start_services.py which:
# - Starts services in correct dependency order
# - Handles profile-based service selection
# - Manages health checks and startup timeouts
#
# Usage: bash scripts/06_run_services.sh
# =============================================================================
set -e
# Source the utilities file and initialize paths
source "$(dirname "$0")/utils.sh"
init_paths
cd "$PROJECT_ROOT"
# Check required files
log_subheader "Pre-flight Checks"
require_file "$ENV_FILE" ".env file not found in project root."
require_file "$PROJECT_ROOT/docker-compose.yml" "docker-compose.yml file not found in project root."
require_file "$PROJECT_ROOT/Caddyfile" "Caddyfile not found in project root. Reverse proxy might not work."
require_file "$PROJECT_ROOT/start_services.py" "start_services.py file not found in project root."
# Check if Docker daemon is running
if ! docker info > /dev/null 2>&1; then
log_error "Docker daemon is not running. Please start Docker and try again."
exit 1
fi
# Ensure start_services.py is executable
if [ ! -x "$PROJECT_ROOT/start_services.py" ]; then
log_warning "start_services.py is not executable. Making it executable..."
chmod +x "$PROJECT_ROOT/start_services.py"
fi
log_subheader "Starting Services"
log_info "Launching services using start_services.py..."
# Execute start_services.py
"$PROJECT_ROOT/start_services.py"
exit 0