Ist immich nicht noch stark in Entwicklung oder läuft es bei euch allen auch nach Updates wieder bei allen rund?
Schließt sich ja nicht aus.
Neue Funktionen kommen in kurzen Abständen, aber bislang ging bei mir alles gut. Ich schaue vor einem Update aber immer bei Github - Immich nach, was es so alles an Änderungen gab. Mache ich aber bei den meisten Docker-Anwendungen auch.
Ist No 72 ein Skript, welches die alte Compose mit der neuen abgleicht und eine neue Compose Datei schneller realisieren kann?
Richtig, es wird verglichen, aber nichts automatisch angepasst. Das mache ich dann doch lieber manuell. Aber ich muss dann nicht lange nach Veränderungen suchen. Alternativ könnte ich natürlich auch auf Gihub mir die Veränderungen anzeigen lassen, aber mit Script geht es schneller.
Um zu sehen, für welche Anwendungen es Updates gibt, habe ich auch ein Script gebastelt. Auf den Server packen und laufen lassen. Ich starte es aber über SSH vom Desktop aus, spart mir die Anmeldung auf dem Server.
Es müsste vorab das Tool "jq" installiert werden.
#!/bin/bash
##---------------------------------------------------
## docker oder podman
app="docker"
##--------------------------------------------------
printf "wait"
## vorhandene Container + Image einlesen
image=$($app ps -a --format '{{ .Image }}' | cut -d ' ' -f 1)
container=$($app ps -a --format '{{ .Names }}' | cut -d ' ' -f 2)
run_since=$($app ps -a --format '{{ .Status }}')
readarray imageArr <<< $image
readarray containerArr <<< $container
readarray statusArr <<< $run_since
counter=0
## Trennlinie der Tabellenüberschrift (die Funktion Column hat keine)
echo "____________________________;___________________________________________________;\
______________________________;__________;________" > /tmp/test.txt
## Datum/ID der Images abfragen
for item in "${containerArr[@]}"
do
loc_container="${containerArr[$counter]}"
loc_image="${imageArr[$counter]}"
loc_status="${statusArr[$counter]}"
loc_install=$($app image list --format '{{.CreatedAt}}' ${imageArr[$counter]} | cut -c1-10)
loc_digest=$($app image inspect --format '{{.RepoDigests}}' ${imageArr[$counter]})
ext_digest=$($app manifest inspect ${imageArr[$counter]} | jq -r '.manifests[] | select(.platform.architecture=="amd64") | .digest')
## Vergleich lokale ID mit Remote-ID; wenn gleich > ok, ansonsten update
if [[ "$loc_digest" == *"$ext_digest"* ]]; then
status="OK"
else
status="Update"
fi
: $((counter++))
## Ausgabe in Textdatei
## Image-Bezeichnung kürzen
loc_image_short=${loc_image:0:51}
dat_final="$loc_container;$loc_image_short;$loc_status;$loc_install;$status"
echo $dat_final >> /tmp/test.txt
printf "."
done
## Ausgabe als Tabelle
echo ""
echo ""
column -t -s ';' --output-separator ' | ' -N Container,Image,Status,installed,Update /tmp/test.txt
echo ""
rm /tmp/test.txt
exit 0
Display More
Das Ergebnis sieht dann so aus.