diff --git a/rmm-tasks/ESPO-03-First-Deploy.sh b/rmm-tasks/ESPO-03-First-Deploy.sh index e66ce19..f670edb 100755 --- a/rmm-tasks/ESPO-03-First-Deploy.sh +++ b/rmm-tasks/ESPO-03-First-Deploy.sh @@ -7,7 +7,7 @@ set -u # Standzeile: zeigt im Protokoll, welche Fassung tatsaechlich gelaufen ist. -echo "ESPO-03-First-Deploy, Skriptstand 2026-09-24" +echo "ESPO-03-First-Deploy, Skriptstand 2026-09-29" BASIS_URL=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main WARTE_MAX=900 @@ -95,10 +95,9 @@ echo "--- Container" docker compose -f /srv/espo/docker-compose.yml ps --format 'table {{.Name}}\t{{.Status}}' echo "--- Instanz" echo "FQDN: $FQDN (Ring $RING)" -# Die Version steht je nach Stand in config.php oder in config-internal.php - EspoCRM selbst -# fragen ist verlaesslicher als eine der beiden Dateien zu raten. -VERSION="$(docker exec espocrm php -r '$v=""; foreach (["/var/www/html/application/Espo/Resources/defaults/config.php","/var/www/html/data/config.php","/var/www/html/data/config-internal.php"] as $f) { $a=@include $f; if (is_array($a) && !empty($a["version"])) { $v=$a["version"]; } } echo $v;' 2>/dev/null)" -[ -n "$VERSION" ] || VERSION="$(grep -hoP "['\"]version['\"]\s*=>\s*['\"]\K[^'\"]+" /srv/espo/data/config.php /srv/espo/data/config-internal.php 2>/dev/null | head -1)" +# Version so, wie EspoCRM sie selbst fuehrt: seit v10 in data/state.php, nicht in config.php. +# Der Befehl liest genau den Wert, gegen den auch Extensions ihre acceptableVersions pruefen. +VERSION="$(docker exec -u www-data espocrm php /var/www/html/command.php version 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+' | tail -n 1)" echo "Version: ${VERSION:-unbekannt}" IMAGE="$(docker inspect -f '{{.Config.Image}}' espocrm 2>/dev/null)" echo "Image: $IMAGE" diff --git a/rmm-tasks/ESPO-10-Update.sh b/rmm-tasks/ESPO-10-Update.sh index 867ca48..5134dd0 100755 --- a/rmm-tasks/ESPO-10-Update.sh +++ b/rmm-tasks/ESPO-10-Update.sh @@ -7,7 +7,7 @@ set -u # Standzeile: zeigt im Protokoll, welche Fassung tatsaechlich gelaufen ist. -echo "ESPO-10-Update, Skriptstand 2026-09-24" +echo "ESPO-10-Update, Skriptstand 2026-09-29" BASIS_URL=https://gitea.subcura.net/EspoCRM_Public/espo-deploy/raw/branch/main VG=ubuntu-vg @@ -55,7 +55,7 @@ fi # 3. Ausgangsstand festhalten, damit der Bericht ein Vorher und ein Nachher hat. VORHER_IMAGE="$(docker inspect -f '{{.Config.Image}}' espocrm 2>/dev/null)" -VORHER_VERSION="$(docker exec espocrm php -r '$v=""; foreach (["/var/www/html/application/Espo/Resources/defaults/config.php","/var/www/html/data/config.php","/var/www/html/data/config-internal.php"] as $f) { $a=@include $f; if (is_array($a) && !empty($a["version"])) { $v=$a["version"]; } } echo $v;' 2>/dev/null)" +VORHER_VERSION="$(docker exec -u www-data espocrm php /var/www/html/command.php version 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+' | tail -n 1)" VORHER_ESPO_ID="$(docker inspect -f '{{.Image}}' espocrm 2>/dev/null)" VORHER_DB_ID="$(docker inspect -f '{{.Image}}' espocrm-db 2>/dev/null)" VORHER_DB_IMAGE="$(docker inspect -f '{{.Config.Image}}' espocrm-db 2>/dev/null)" @@ -103,7 +103,7 @@ docker compose -f /srv/espo/docker-compose.yml ps --format 'table {{.Name}}\t{{. echo "--- Instanz" NACHHER_IMAGE="$(docker inspect -f '{{.Config.Image}}' espocrm 2>/dev/null)" NACHHER_ESPO_ID="$(docker inspect -f '{{.Image}}' espocrm 2>/dev/null)" -NACHHER_VERSION="$(docker exec espocrm php -r '$v=""; foreach (["/var/www/html/application/Espo/Resources/defaults/config.php","/var/www/html/data/config.php","/var/www/html/data/config-internal.php"] as $f) { $a=@include $f; if (is_array($a) && !empty($a["version"])) { $v=$a["version"]; } } echo $v;' 2>/dev/null)" +NACHHER_VERSION="$(docker exec -u www-data espocrm php /var/www/html/command.php version 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+' | tail -n 1)" echo "Image: ${VORHER_IMAGE:-unbekannt} -> ${NACHHER_IMAGE:-unbekannt}" echo "Version: ${VORHER_VERSION:-unbekannt} -> ${NACHHER_VERSION:-unbekannt}" echo "Digest: $(docker image inspect --format '{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}{{.Id}}{{end}}' "$NACHHER_IMAGE" 2>/dev/null)" diff --git a/rmm-tasks/ESPO-12-Snapshot-wiederherstellen.sh b/rmm-tasks/ESPO-12-Snapshot-wiederherstellen.sh index 6097930..6831d6d 100755 --- a/rmm-tasks/ESPO-12-Snapshot-wiederherstellen.sh +++ b/rmm-tasks/ESPO-12-Snapshot-wiederherstellen.sh @@ -7,7 +7,7 @@ # mit dem alten Image-Tag. Deshalb startet die Instanz danach von selbst wieder auf dem alten Stand. set -u -echo "ESPO-12-Snapshot-wiederherstellen, Skriptstand 2026-09-24" +echo "ESPO-12-Snapshot-wiederherstellen, Skriptstand 2026-09-29" VG=ubuntu-vg SNAPSHOT=srv-vor-update @@ -109,7 +109,7 @@ docker compose -f "$COMPOSE" ps --format 'table {{.Name}}\t{{.Status}}' echo "--- Instanz nach dem Rueckweg" IMAGE="$(docker inspect -f '{{.Config.Image}}' espocrm 2>/dev/null)" echo "Image: $IMAGE" -echo "Version: $(docker exec espocrm php -r '$v=""; foreach (["/var/www/html/application/Espo/Resources/defaults/config.php","/var/www/html/data/config.php","/var/www/html/data/config-internal.php"] as $f) { $a=@include $f; if (is_array($a) && !empty($a["version"])) { $v=$a["version"]; } } echo $v;' 2>/dev/null)" +echo "Version: $(docker exec -u www-data espocrm php /var/www/html/command.php version 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+' | tail -n 1)" echo "--- Platz" vgs --units g -o vg_name,vg_size,vg_free "$VG" 2>/dev/null | sed 's/^/ /' echo "--- Hinweis" diff --git a/rmm-tasks/ESPO-20-Inventar.sh b/rmm-tasks/ESPO-20-Inventar.sh index 256a160..dfe6e8b 100755 --- a/rmm-tasks/ESPO-20-Inventar.sh +++ b/rmm-tasks/ESPO-20-Inventar.sh @@ -12,7 +12,7 @@ set -u ZIEL=/run/espo-inventar -echo "ESPO-20-Inventar, Skriptstand 2026-09-24" +echo "ESPO-20-Inventar, Skriptstand 2026-09-29" fehler() { echo "FEHLER: $*"; echo "ESPO20_ERGEBNIS: FEHLER"; exit 1; } @@ -29,8 +29,7 @@ ESPO_IMAGE="$(docker inspect -f '{{.Config.Image}}' espocrm 2>/dev/null)" [ -n "$ESPO_IMAGE" ] || fehler "Container 'espocrm' nicht gefunden - laeuft die Instanz?" ESPO_DIGEST="$(docker image inspect --format '{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}{{.Id}}{{end}}' "$ESPO_IMAGE" 2>/dev/null)" [ -n "$ESPO_DIGEST" ] || fehler "Digest des EspoCRM-Images nicht ermittelbar" -ESPO_VERSION="$(docker exec espocrm php -r '$v=""; foreach (["/var/www/html/application/Espo/Resources/defaults/config.php","/var/www/html/data/config.php","/var/www/html/data/config-internal.php"] as $f) { $a=@include $f; if (is_array($a) && !empty($a["version"])) { $v=$a["version"]; } } echo $v;' 2>/dev/null)" -[ -n "$ESPO_VERSION" ] || ESPO_VERSION="$(grep -hoP "['\"]version['\"]\s*=>\s*['\"]\K[^'\"]+" /srv/espo/data/config-internal.php /srv/espo/data/config.php 2>/dev/null | head -1)" +ESPO_VERSION="$(docker exec -u www-data espocrm php /var/www/html/command.php version 2>/dev/null | grep -E '^[0-9]+\.[0-9]+\.[0-9]+' | tail -n 1)" [ -n "$ESPO_VERSION" ] || fehler "EspoCRM-Version nicht ermittelbar" # 3. MariaDB: Image, Digest, Version. Das Passwort wird im Container aus der Secret-Datei gelesen,