From 38907a46dadaaba58be7905751d5cdcf846072e5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 3 Oct 2025 08:49:35 -0300 Subject: [PATCH] fix --- app/sbin/ODOO_19/restore | 1 + app/sbin/helpers | 2 -- app/sbin/start/ODOO_19 | 38 ++++++++++++++++++++++++++++++++------ app/vault/host_vars.img | Bin 26214400 -> 26214400 bytes 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/app/sbin/ODOO_19/restore b/app/sbin/ODOO_19/restore index 37e6d1a..c5598d7 100755 --- a/app/sbin/ODOO_19/restore +++ b/app/sbin/ODOO_19/restore @@ -50,6 +50,7 @@ PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \ doas docker exec "$UUID" rm -rf /home/odoo/.local/share/Odoo/filestore +doas docker exec "$UUID" rm -rf /root/.local/share/Odoo/filestore doas docker exec "$UUID" odoo db --db_host beedb -w "$ODOO_DB_PASSWORD" -r "$UUID" load "$UUID" $FILENAME -f diff --git a/app/sbin/helpers b/app/sbin/helpers index db6d33b..c8c72a1 100755 --- a/app/sbin/helpers +++ b/app/sbin/helpers @@ -36,8 +36,6 @@ done < <(sqlite3 "$DB_PATH" " ") -# 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 | ascii_upcase)=\(.value)"') } diff --git a/app/sbin/start/ODOO_19 b/app/sbin/start/ODOO_19 index 0c48138..e312d03 100755 --- a/app/sbin/start/ODOO_19 +++ b/app/sbin/start/ODOO_19 @@ -3,6 +3,7 @@ # Load functions source /4server/sbin/ODOO_19/ODOO_19.lib source /4server/sbin/helpers +get_contract_info # Config variables UUID="${UUID:-default}" @@ -11,8 +12,9 @@ BRANCH="${BRANCH:-release}" ODOO_DB_USER="${UUID}" export ODOO_DB_PASSWORD=$(echo "$SECRET" | jq -r '.psql') -echo "ENV: $HDD $DOMAIN_COUNT $BACKUP_SLOTS $CONTAINERDBID" +echo "ENV: $HDD $DOMAIN_COUNT $BACKUP_SLOTS $CONTAINERDBID" +echo "DBID: $CONTAINERDBID" BASEURL="${BASEURL:-/4server/data/$UUID}" DATA_DIR="$BASEURL/odoo/" @@ -27,15 +29,39 @@ INSTALL_DIR="$BASEURL/install/" SSH_DIR="$BASEURL/.ssh/" ETC_DIR="$BASEURL/etc/" -SERVER_IP=$(ip -4 addr show eth0 | awk '/inet/ {print $2}' | cut -d/ -f1) +SERVER_IP=$(ip -4 addr show eth0 | awk '/inet/ {print $2}' | cut -d/ -f1 | head -n1) + +LABEL_DOMAINS=("$UUID.odoo4projects.com") +if [ -f "$BASEURL/etc/domain" ]; then + while IFS= read -r domain || [[ -n $domain ]]; do + [ -z "$domain" ] && continue + LABEL_DOMAINS+=("$domain") + done < "$BASEURL/etc/domain" +else + echo "[DEBUG] No additional domain file found at $BASEURL/etc/domain" +fi + +RULE="" +for d in "${LABEL_DOMAINS[@]}"; do + RESOLVED_IP=$(nslookup "$d" 2>/dev/null | awk '/^Address: / { print $2 }' | head -n1 || true) + if [ -z "$RESOLVED_IP" ]; then + echo "[DEBUG] Could not resolve $d, skipping" + continue + fi + if [ "$RESOLVED_IP" = "$SERVER_IP" ]; then + RULE+=" || Host(\`$d\`)" + else + echo "[DEBUG] Skipping $d (does not match SERVER_IP $SERVER_IP)" + fi +done +RULE="${RULE# || }" +DOMAIN_LABEL="traefik.http.routers.$UUID.rule=$RULE" +echo "[DEBUG] Final Traefik label: $DOMAIN_LABEL" -DOMAIN_LABEL=$(check_domains "$UUID.odoo4projects.com" "$SERVER_IP") -DOMAIN_LABEL="traefik.http.routers.$UUID.rule=Host(\`$UUID.odoo4projects.com\`)" doas find "$BASEURL" -type d -exec chmod 777 {} \; - -PORT=$($CONTAINERDBID+2200) +PORT=$((CONTAINERDBID + 2200)) echo "PORT $PORT" echo "git clone \"ssh://git@${UUID}.odoo4projects.com:${PORT}/git-server/repos/odoo.git\"" > "${ETC_DIR}/gitpath" diff --git a/app/vault/host_vars.img b/app/vault/host_vars.img index e2bc3e050dae2d8883175217aaa01e1834e3f7ee..a276dafef3612a0298bb8510bf8039a317500202 100644 GIT binary patch delta 14565 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 J5)s`C{{!l>c1r*N