last
This commit is contained in:
3
app/sbin/ODOO_19/audit
Executable file
3
app/sbin/ODOO_19/audit
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
/4server/sbin/ODOO_19/listModules $1
|
||||
60
app/sbin/ODOO_19/updateModules
Executable file
60
app/sbin/ODOO_19/updateModules
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
export PATH=/4PROJECTS/bin:$PATH
|
||||
|
||||
# --------------------------------------------------
|
||||
# Validate parameter
|
||||
# --------------------------------------------------
|
||||
if [ -z "$1" ]; then
|
||||
echo "Missing Parameters <UUID>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
UUID=$1
|
||||
|
||||
# --------------------------------------------------
|
||||
# Load environment helpers
|
||||
# --------------------------------------------------
|
||||
source /4server/sbin/helpers
|
||||
|
||||
if ! get_contract_info "$UUID"; then
|
||||
echo "Error: Failed to load contract info for $UUID" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# --------------------------------------------------
|
||||
# Verify container exists
|
||||
# --------------------------------------------------
|
||||
if ! doas docker ps -a --format "{{.Names}}" | grep -q "^${UUID}$"; then
|
||||
echo "Error: Container $UUID does not exist" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Updating all Odoo modules for database: $UUID"
|
||||
echo "Using DB host: $POSTGRES_HOST"
|
||||
|
||||
# --------------------------------------------------
|
||||
# Run Odoo update inside container
|
||||
# --------------------------------------------------
|
||||
if ! doas docker exec -u odoo "$UUID" odoo \
|
||||
-u all \
|
||||
-d "$UUID" \
|
||||
--stop-after-init \
|
||||
--db_host="$POSTGRES_HOST" \
|
||||
--db_port="$POSTGRES_PORT" \
|
||||
--db_user="$POSTGRES_ADMIN_USER" \
|
||||
--db_password="$POSTGRES_ADMIN_PASSWORD"
|
||||
then
|
||||
echo "Error: Odoo module update failed for $UUID" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Module update completed successfully for $UUID"
|
||||
|
||||
# --------------------------------------------------
|
||||
# Restart container
|
||||
# --------------------------------------------------
|
||||
echo "Starting container $UUID"
|
||||
/4server/sbin/startContainer "$UUID"
|
||||
|
||||
echo "Done."
|
||||
exit 0
|
||||
@@ -373,6 +373,12 @@ def add_git_key(request: AddKeyRequest):
|
||||
|
||||
return {"message": f"Key saved for container {request.uuid}", "file": file_path}
|
||||
|
||||
|
||||
@app.get("/client/audit/{uuid}", dependencies=[Depends(verify_api_key)])
|
||||
def audit_odoo(uuid: str):
|
||||
return {"message": run_command([f"{BIN_PATH}/ODOO_19/listModules", uuid])}
|
||||
|
||||
|
||||
@app.get("/client/logs/{uuid}", dependencies=[Depends(verify_api_key)])
|
||||
async def get_odoo_log_summary(uuid: str):
|
||||
if not re.fullmatch(r"[0-9a-fA-F\-]+", uuid):
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Usage: ./start_by_uuid.sh <uuid>
|
||||
# Example: ./start_by_uuid.sh abc-001-xxxx-xxxx-xxxx
|
||||
exec > /4server/data/log/backupContainer.log 2>&1
|
||||
exec >> /4server/data/log/backupContainer_$1.log 2>&1
|
||||
echo "$(date '+%Y-%m-%d %H:%M') Backup container $1"
|
||||
|
||||
source /4server/sbin/helpers
|
||||
@@ -20,6 +18,8 @@ get_contract_info
|
||||
# Extract the second part of UUID (split by "-")
|
||||
SECOND_PART=$(echo "$UUID" | cut -d'-' -f2)
|
||||
|
||||
echo "Conatiner Type $UUID"
|
||||
|
||||
# Decide which script to run
|
||||
case "$SECOND_PART" in
|
||||
001)
|
||||
@@ -40,4 +40,3 @@ case "$SECOND_PART" in
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -25,8 +25,15 @@ for dir in ???-???-*; do
|
||||
/4server/sbin/ODOO_19/restore ${dir%/} $FILENAME
|
||||
rm "${dir}/cc/restore"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [ -d "${dir}/n8n" ]; then
|
||||
if [ -f "${dir}/n8n/database.sqlite-journal" ]; then
|
||||
echo "Restart N8N (journal)for: ${dir%/}"
|
||||
/4server/sbin/startContainer ${dir%/}
|
||||
fi
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
sleep 60
|
||||
|
||||
@@ -21,12 +21,9 @@ 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 'TAGS=' || replace(replace(tags, char(10), ''), char(13), '') FROM containers WHERE UUID='$UUID'
|
||||
UNION ALL SELECT 'ENV=' || replace(replace(env, char(10), ''), char(13), '') 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'
|
||||
|
||||
@@ -64,10 +64,15 @@ find "$BASEURL" -type d -exec chmod 777 {} \;
|
||||
PORT=$((CONTAINERDBID + 2200))
|
||||
echo "PORT $PORT"
|
||||
mkdir -p ${ETC_DIR}
|
||||
chmod 777 ${ETC_DIR}
|
||||
echo "GITPATH ${ETC_DIR}gitpath"
|
||||
touch ${ETC_DIR}gitpath
|
||||
|
||||
mkdir -p ${BACKUP_DIR}
|
||||
chmod 777 ${BACKUP_DIR}
|
||||
|
||||
mkdir -p ${GIT_DIR}keys
|
||||
chmod 777 ${GIT_DIR}
|
||||
touch ${GIT_DIR}keys/id_rsa.pub
|
||||
|
||||
|
||||
@@ -112,9 +117,9 @@ docker run -d --name "$UUID" \
|
||||
docker.odoo4projects.com/4projects/odoo_19:$BRANCH
|
||||
|
||||
|
||||
docker exec $UUID chown -R odoo:odoo /home/odoo/.local
|
||||
docker exec $UUID chown -R odoo:odoo /home/odoo/.local
|
||||
docker exec $UUID chown -R odoo:odoo /mnt/*
|
||||
docker exec $UUID chown odoo:odoo /git-server/keys/id_rsa.pub
|
||||
docker exec $UUID chown -R odoo:odoo /git-server
|
||||
chmod 777 /4server/data/$UUID/cc
|
||||
|
||||
check_and_create_db
|
||||
|
||||
Reference in New Issue
Block a user