47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
exec > /4server/data/log/startContainer.log 2>&1
|
|
|
|
_self="$(realpath "${BASH_SOURCE[0]:-$0}")"; SBIN="$(dirname "$_self")"
|
|
source "$SBIN/helpers"
|
|
|
|
BIN_PATH="$SBIN"
|
|
CONTAINER_ID="$1"
|
|
|
|
[ -z "$CONTAINER_ID" ] && die "Usage: $0 <uuid>"
|
|
log "Start container $CONTAINER_ID"
|
|
|
|
|
|
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//\'/\'\'}"
|
|
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
|
|
|
|
# Decide which script to run based on SOFTWARE from container.env
|
|
case "$SOFTWARE" in
|
|
n8n)
|
|
"$BIN_PATH/start/n8n"
|
|
;;
|
|
ODOO_17)
|
|
IMAGE_TAG=odoo_17 "$BIN_PATH/start/odoo"
|
|
;;
|
|
ODOO_18)
|
|
IMAGE_TAG=odoo_18 "$BIN_PATH/start/odoo"
|
|
;;
|
|
ODOO_19)
|
|
IMAGE_TAG=odoo_19 "$BIN_PATH/start/odoo"
|
|
;;
|
|
*)
|
|
die "Unknown SOFTWARE type '${SOFTWARE}' for container_id $CONTAINER_ID — run: initContainer $CONTAINER_ID <n8n|ODOO_17|ODOO_18|ODOO_19>"
|
|
;;
|
|
esac
|