November 1, 20241 yr Grüss euch, was ich habe: Ich habe jetzt ein paar Bash scripte die mit dem User script Plugin problemlos ausgeführt werden können. Das Script überprüft einen ordner und fügt den Inhalt dann Immich hinzu. Das läuft seit Wochen Stabil. meine Idee: mit ngnix und Apache php eine kleine Seite hosten, mit ein paar Buttons, und jeder Button führt ein anderes Script aus. Wenn ich jetzt das SELBE Script unter /mnt/user/appdate/meine_scripts ablege und mit chmod +x ausführbar mache. Und per PHP mit diesem Aufruf Starte: <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Hier den Pfad zu deinem Bash-Skript angeben $output = shell_exec('/bin/bash /mnt/user/appdata/meine_scripts/execute_immich_script.sh 2>&1'); echo "Immich Mobile Sync Script gestartet! Ausgabe: \n\n$output"; } else { echo "Ungültige Anfrage."; } ?> Habe ich das Problem, dass das Script scheinbar nicht auf den Immich Docker zugreifen kann. das ist das Script (key geändert) #!/bin/bash # Pfad zum übergeordneten Ordner base_folder="/mnt/remotes/192.168.2.30_homes/Huede82/Mobile_Sync/" # Docker-Container Name (ersetze falls nötig) docker_container="immich" # Immich Login Key und Server-URL immich_server="http://192.168.2.10:28080" login_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Authentifizierung im Docker-Container echo "Authentifizieren bei Immich..." docker exec "$docker_container" immich login-key "$immich_server" "$login_key" if [ $? -ne 0 ]; then echo "Fehler bei der Authentifizierung. Beende das Skript." exit 1 fi echo "Erfolgreich authentifiziert." # Alle Ordner im Verzeichnis durchsuchen, die nicht mit "." beginnen for folder_name in "$base_folder"*/; do # Entferne den Schrägstrich am Ende des Ordnernamens folder_name=$(basename "$folder_name") # Ignoriere Ordner, die mit einem Punkt beginnen if [[ "$folder_name" == .* ]]; then continue fi # Befehl für immich erstellen echo "Hochladen von Ordner: $folder_name" docker exec "$docker_container" immich upload --album-name "Mobile Sync $folder_name" "/Mobile_Sync/$folder_name" if [ $? -ne 0 ]; then echo "Fehler beim Hochladen des Ordners $folder_name" else echo "Erfolgreich hochgeladen: $folder_name" fi done Vielen Dank für hilfe / Ratschläge. Ps. von der Console gestartet funktioniert das Script auch, nur eben nicht via Browser / php. Ich Bitte um ne detailierte Hilfe, da ich mit meinem Linux anfänger Kentnissen am Ende bin. Danke
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.