g
This commit is contained in:
1 parent
ef641e9fe2
commit
e03bb926e8
8 files changed
+87
-52
No files matched your search
+13
-10
@@ -1,5 +1,4 @@
|
||||
#!/bin/bash
|
||||
echo "START ODOO 17"
|
||||
# Load functions
|
||||
source /4server/sbin/ODOO_19/ODOO_19.lib
|
||||
source /4server/sbin/helpers
|
||||
@@ -12,9 +11,7 @@ BRANCH="${BRANCH:-release}"
|
||||
ODOO_DB_USER="${UUID}"
|
||||
#export ODOO_DB_PASSWORD=$(echo "$SECRET" | jq -r '.psql')
|
||||
|
||||
|
||||
echo "ENV: $HDD $DOMAIN_SLOTS $BACKUP_SLOTS $CONTAINERDBID"
|
||||
echo "DBID: $CONTAINERDBID"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') START ODOO 17 UUID=$UUID BRANCH=$BRANCH DBID=$CONTAINERDBID DB_USER=$ODOO_DB_USER HDD=$HDD DOMAIN_SLOTS=$DOMAIN_SLOTS BACKUP_SLOTS=$BACKUP_SLOTS WORKER=$WORKER"
|
||||
|
||||
BASEURL="${BASEURL:-/4server/data/$UUID}"
|
||||
DATA_DIR="$BASEURL/odoo/"
|
||||
@@ -38,25 +35,26 @@ if [ -f "$BASEURL/etc/domain" ]; then
|
||||
LABEL_DOMAINS+=("$domain")
|
||||
done < "$BASEURL/etc/domain"
|
||||
else
|
||||
echo "[DEBUG] No additional domain file found at $BASEURL/etc/domain"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') No custom domain file at $BASEURL/etc/domain, using default domain $UUID.odoo4projects.com only"
|
||||
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"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Domain $d does not resolve, skipping"
|
||||
continue
|
||||
fi
|
||||
if [ "$RESOLVED_IP" = "$SERVER_IP" ]; then
|
||||
RULE+=" || Host(\`$d\`)"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Domain $d resolves to $RESOLVED_IP (server IP), added to Traefik rule"
|
||||
else
|
||||
echo "[DEBUG] Skipping $d (does not match SERVER_IP $SERVER_IP)"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Domain $d resolves to $RESOLVED_IP but server IP is $SERVER_IP, skipping"
|
||||
fi
|
||||
done
|
||||
RULE="${RULE# || }"
|
||||
DOMAIN_LABEL="traefik.http.routers.$UUID.rule=$RULE"
|
||||
echo "[DEBUG] Final Traefik label: $DOMAIN_LABEL"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Traefik label for $UUID: $DOMAIN_LABEL"
|
||||
|
||||
docker exec "$UUID" mkdir -p /var/lib/odoo/.local/share/Odoo/
|
||||
docker exec "$UUID" ln -s /home/odoo/.local/share/Odoo/filestore /var/lib/odoo/.local/share/Odoo/filestore
|
||||
@@ -64,9 +62,7 @@ docker exec "$UUID" ln -s /home/odoo/.local/share/Odoo/filestore /var/lib/odoo/.
|
||||
|
||||
find "$BASEURL" -type d -exec chmod 777 {} \;
|
||||
PORT=$((CONTAINERDBID + 2200))
|
||||
echo "PORT $PORT"
|
||||
mkdir -p ${ETC_DIR}
|
||||
echo "GITPATH ${ETC_DIR}gitpath"
|
||||
touch ${ETC_DIR}gitpath
|
||||
|
||||
mkdir -p ${GIT_DIR}keys
|
||||
@@ -74,13 +70,16 @@ touch ${GIT_DIR}keys/id_rsa.pub
|
||||
|
||||
|
||||
echo "git clone \"ssh://git@${UUID}.odoo4projects.com:${PORT}/git-server/repos/odoo.git\"" > "${ETC_DIR}/gitpath"
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Wrote git clone path for $UUID to ${ETC_DIR}gitpath (SSH port $PORT)"
|
||||
|
||||
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Stopping and removing existing container $UUID (if any)"
|
||||
docker stop "$UUID" 2>/dev/null
|
||||
docker rm "$UUID" 2>/dev/null
|
||||
|
||||
EXTRA_DOCKER_PARAMETER=""
|
||||
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Starting container $UUID from docker.odoo4projects.com/4projects/odoo_17:$BRANCH (SSH port $PORT, network 4server_4projects)"
|
||||
docker run -d --name "$UUID" \
|
||||
--network 4server_4projects \
|
||||
--restart=always \
|
||||
@@ -112,7 +111,9 @@ docker run -d --name "$UUID" \
|
||||
--label "traefik.http.routers.$UUID.tls=true" \
|
||||
--label "traefik.http.routers.$UUID.service=$UUID" \
|
||||
docker.odoo4projects.com/4projects/odoo_17:$BRANCH
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') docker run for $UUID finished with exit code $?"
|
||||
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Preparing filestore and fixing ownership in container $UUID"
|
||||
docker exec "$UUID" mkdir -p /var/lib/odoo/.local/share/Odoo
|
||||
docker exec "$UUID" rm -rf /var/lib/odoo/.local/share/Odoo/filestore
|
||||
docker exec "$UUID" ln -s /home/odoo/.local/share/Odoo/filestore /var/lib/odoo/.local/share/Odoo/filestore
|
||||
@@ -124,4 +125,6 @@ docker exec $UUID chown -R odoo:odoo /mnt/*
|
||||
docker exec $UUID chown odoo:odoo /git-server/keys/id_rsa.pub
|
||||
|
||||
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') Checking/creating database for $UUID (user $ODOO_DB_USER)"
|
||||
check_and_create_db
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') START ODOO 17 finished for $UUID"
|
||||
Reference in new issue
Block a user