Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Bash script per php starten

Featured Replies

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.