c
This commit is contained in:
1 parent
d3d9614825
commit
2e9c775599
34 files changed
+390
-1833
No files matched your search
+20
-39
@@ -1,65 +1,46 @@
|
||||
#!/bin/bash
|
||||
# Usage: ./start_by_uuid.sh <uuid>
|
||||
# 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:%S') Start container $1"
|
||||
|
||||
source /4server/sbin/helpers
|
||||
_self="$(realpath "${BASH_SOURCE[0]:-$0}")"; SBIN="$(dirname "$_self")"
|
||||
source "$SBIN/helpers"
|
||||
|
||||
BIN_PATH="/4server/sbin"
|
||||
BIN_PATH="$SBIN"
|
||||
CONTAINER_ID="$1"
|
||||
|
||||
UUID="$1"
|
||||
|
||||
if [[ -z "$UUID" ]]; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Usage: $0 <uuid>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! "$UUID" =~ ^[0-9a-fA-F-]+$ ]]; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') ERROR: Invalid UUID format: $UUID"
|
||||
exit 1
|
||||
fi
|
||||
[ -z "$CONTAINER_ID" ] && die "Usage: $0 <uuid>"
|
||||
log "Start container $CONTAINER_ID"
|
||||
|
||||
|
||||
DOMAIN_FILE="/4server/data/$UUID/etc/domain"
|
||||
DOMAIN_FILE="/4server/data/$CONTAINER_ID/etc/domain"
|
||||
DB_FILE="/4server/data/contracts.db"
|
||||
if [ -f "$DOMAIN_FILE" ]; then
|
||||
DOMAINS=$(paste -sd "," "$DOMAIN_FILE")
|
||||
# Escape single quotes for SQLite ('' is the standard SQLite escape for ')
|
||||
DOMAINS_SAFE="${DOMAINS//\'/\'\'}"
|
||||
UUID_SAFE="${UUID//\'/\'\'}"
|
||||
sqlite3 "$DB_FILE" "UPDATE containers SET domains='$DOMAINS_SAFE' WHERE UUID='$UUID_SAFE';"
|
||||
CONTAINER_ID_SAFE="${CONTAINER_ID//\'/\'\'}"
|
||||
sqlite3 "$DB_FILE" "UPDATE containers SET domains='$DOMAINS_SAFE' WHERE UUID='$CONTAINER_ID_SAFE';"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
load_container_config "$CONTAINER_ID"
|
||||
get_contract_info
|
||||
|
||||
# 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)
|
||||
# Decide which script to run based on SOFTWARE from container.env
|
||||
case "$SOFTWARE" in
|
||||
n8n)
|
||||
"$BIN_PATH/start/n8n"
|
||||
;;
|
||||
002)
|
||||
"$BIN_PATH/start/ODOO_18"
|
||||
ODOO_17)
|
||||
IMAGE_TAG=odoo_17 "$BIN_PATH/start/odoo"
|
||||
;;
|
||||
|
||||
|
||||
003)
|
||||
"$BIN_PATH/start/ODOO_19"
|
||||
ODOO_18)
|
||||
IMAGE_TAG=odoo_18 "$BIN_PATH/start/odoo"
|
||||
;;
|
||||
|
||||
004)
|
||||
"$BIN_PATH/start/ODOO_17"
|
||||
ODOO_19)
|
||||
IMAGE_TAG=odoo_19 "$BIN_PATH/start/odoo"
|
||||
;;
|
||||
|
||||
|
||||
|
||||
*)
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Unknown UUID type: $SECOND_PART"
|
||||
exit 2
|
||||
die "Unknown SOFTWARE type '${SOFTWARE}' for container_id $CONTAINER_ID — run: initContainer $CONTAINER_ID <n8n|ODOO_17|ODOO_18|ODOO_19>"
|
||||
;;
|
||||
esac
|
||||
Reference in new issue
Block a user