#!/bin/bash # Usage: ./start_by_uuid.sh # Example: ./start_by_uuid.sh abc-001-xxxx-xxxx-xxxx exec > /4server/data/log/startContainer.log 2>&1 echo "$(date '+%Y-%m-%d %H:%M') Start container $1" DB_PATH="/4server/data/contracts.db" BIN_PATH="/4server/sbin" UUID="$1" if [[ -z "$UUID" ]]; then echo "Usage: $0 " exit 1 fi while IFS="=" read -r key value; do if [ -n "$key" ]; then export "$key=$value" fi done < <(sqlite3 "$DB_PATH" " SELECT 'UUID=' || UUID FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'EMAIL=' || email FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'EXPIRES=' || expires FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'TAGS=' || tags FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'ENV=' || env FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'AFFILIATE=' || affiliate FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'IMAGE=' || image FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'HISTORY=' || history FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'COMMENT=' || comment FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'DOMAINS=' || domains FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'STATUS=' || status FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'CREATED=' || created FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'SECRET=' || secret FROM containers WHERE UUID='$UUID' UNION ALL SELECT 'BUMP=' || bump FROM containers WHERE UUID='$UUID'; ") # Debug: print loaded environment variables env | grep -E 'UUID|EMAIL|EXPIRES|TAGS|ENV|AFFILIATE|IMAGE|HISTORY|COMMENT|DOMAINS|STATUS|CREATED|BUMP|SECRET' eval $(echo "$ENV" | jq -r 'to_entries | .[] | "export \(.key)=\(.value)"') # Extract the second part of UUID (split by "-") SECOND_PART=$(echo "$UUID" | cut -d'-' -f2) # Decide which script to run case "$SECOND_PART" in 001) "$BIN_PATH/start/n8n" ;; 002) "$BIN_PATH/start/ODOO_18" ;; 003) "$BIN_PATH/start/ODOO_19" ;; *) echo "Unknown UUID type: $SECOND_PART" exit 2 ;; esac