[TUT] IMMICH - Perfekte Alternative zur Foto-App

  • Alle Bilder (mit Ausnahme des Titelbildes, Quelle unbekannt) in diesem Tutorial stammen aus meiner eigenen Testumgebung. Die Schritte der nachfolgend beschriebenen Installationsanleitung wurden eigenständig geschrieben. Ausschnitte meines Codes in den Dateien "immich.yml" sowie "stack.env" entspringen zum Teil der offiziellen Webseite immich.app/docs/install/docker-compose, immich.app/docs/install/environment-variables sowie der zugehörigen Projektseite github.com/immich-app/immich und Teilen von github.com/immich-app/immich/issues/1141.
    Yes

    Liebe Forengemeinde,
    in diesem Tutorial stelle ich Euch eine Anleitung zur Verfügung, mit welcher Ihr die Anwendung IMMICH in kürzester Zeit installieren könnt. Voraussetzung für dieses Tutorial ist Portainer.

    image

    Vorbereitung

    Editieren der Datei "stack.env":

    1. Aufrufen der Anwendung IT-Tools zur Erzeugung eines zufälligen 128-Zeichen Strings
    2. Auf den Button „Refresh“ und anschließend auf den Button „Copy“ klicken

    image

    1. Den Anhang "immich.zip" herunterladen und entpacken.
    2. Im entpackten Ordner die Datei "stack.env" in einem Texteditor Eurer Wahl öffnen.
    3. In dieser Datei die nachfolgenden (grün markierten) Werte entsprechend Eurer Umgebung ändern.
      Tipp: Der String aus dem "Token generator" kann in Zeile 25 mit dem Tastenkürzel [Strg]+[V] eingefügt werden.

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.

    Erklärung zu den Werten in obenstehender Abbildung:

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.

    3. Anschließend die Datei "stack.env" speichern und schließen.

    Ermitteln von PUID und PGID:

    1. Das Consolenfenster öffnen und per ssh auf Euer NAS verbinden (ssh muss natürlich aktiviert sein)
    2. Als Admin anmelden
    3. Folgende Befehle ausführen:
      • id -u (gibt die PUID zurück, im Beispiel 1000)
      • id -g (gibt die PGID zurück, im Beispiel 10)
    4. PUID und PGID notieren, diese Werte brauchen wir gleich
    5. Consolenfenster mit dem Befehl exit schließen

    Anleitung:

    1. Dateimanager öffnen
    2. In den Ordner docker wechseln
    3. Erstellen des Ordners "immich"
    4. Wechseln in den Ordner "immich"
    5. Erstellen der folgenden Unterordner:
      • redis, db, upload, cache, pcache, config
    6. Dateimanager schließen
    7. Im entpackten Ordner die Datei "immich.yml" in einem Texteditor Eurer Wahl öffnen
    8. Alle Zeilen editieren, bei denen eine entsprechende #Bemerkung hinterlegt ist, DEN REST SO BELASSEN!
    9. Speichern
    10. Portainer öffnen
    11. Im linken Menü "Stacks" anklicken
    12. Auf der rechten Seite "+ Add Stack" anklicken
    13. Bei "Name" "immich" eintragen
    14. Den Inhalt in der Datei "immich.yml" kopieren (Strg + A und danach Strg + C)
    15. Den Inhalt im Webeditor einfügen (Strg + V)
    16. Nun auf den Button "Load variables from .env file" klicken
      image
    17. Die Datei "stack.env" auswählen und auf "Öffnen" klicken
    18. Unter "Actions" auf "Deploy the Stack" klicken
    19. Es werden nun insgesamt 4 Container installiert
      • Hinweis: Die Installation wird ca. 10-15 Minuten dauern, da ca. 3 Gb an Daten heruntergeladen werden
    20. Nach Fertigstellung sollten die 4 Container mit dem Status "healthy" angezeigt werden

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.

    1. IMMICH kann nun im Browser wie folgt aufgerufen werden:
    2. Beim ersten Aufruf muss ein Admin-Account angelegt werden, dies sollte jedoch selbsterklärend sein

    Einige TIPPS:

    1. IMMICH Lizensierung-Satus (Immich kaufen) ausblenden:.
      Verwaltung > Einstellungen > Theme-Einstellungen > Benutzerdefiniertes CSS > Folgende Zeile eintragen:
      • .license-status { display: none !important; }
      • F5 drücken zur Aktualisiereung - Der Hinweis "Immich kaufen" ist nun verschwunden 🙂
    2. Manchmal gibt es es ein paar unschöne Warnungen im LOG, welche man wie folgt beseitigen kann:
      2a. Consolenfenster öffnen und per ssh anmelden
      2b. nano /etc/sysctl.conf
      2c. Folgende Einträge am Ende der Datei (ohne -) einfügen:
      • net.core.rmem_max=7500000
      • net.core.wmem_max=7500000
      • net.ipv4.tcp_fastopen = 3
      • vm.overcommit_memory = 1
        2d. Speichern + Exit
        2e. Änderungen übernehmen mit: sudo sysctl -p

    Wichtiger Hinweis:

    Die 4 Container von IMMICH sollten NICHT mit Watchtower upgedatet werden, da sich IMMICH in einer starken Entwicklungsphase besfindet und bei neuen Versionen manchmal diverse, manuelle Änderungen durchgeführt werden müssen. Des Weiteren sind die 4 Container untereinander abhängig, Watchtower kann mit diesen Abhängigkeiten nicht zuverlässig umgehen.

    Unter folgenden Links findet ihr weiterführende Informationen:

    Willi
    May 24, 2025 at 3:58 PM


    Viel Spaß beim Installieren!

  • Servus,

    vielen Dank erstmal für deine immich Anleitung, hat fast zu 100% funktioniert 😁

    Wie kann ich immich zu 100% wieder „deinstallieren“ ? Wenn ich alle Container lösche, kann ich immich wieder neu installieren, aber mein unten beschriebenes Problem mit dem Medien Ordner besteht weiterhin.

    Ich habe das Problem, dass ich in der immich.yml deinen optionalen Pfad zu der Bibliothek belassen habe und im nachhinein keinen Medien Ordner erstellen kann, da UGOS meckert, dass dieser Ordner bereits vorhanden ist, obwohl er nicht vorhanden ist.

    Um ehrlich zu sein, habe ich das mit der externen Bibliothek nicht wirklich kapiert. Vielleicht kannst du mir auf die Sprünge helfen ?!

    Ich habe freigegebene Order: Bilder, Bilder Smartphone, Bilder sonst irgendwas etc.

    Kannst du mir bitte sagen, wie die Einträge in der immich.yml ausschauen müssen und was ich dann in immich als Pfad angeben muss.

    Besten Dank schonmal.

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

  • Hallo   sasam

    um Immich vollständig zu deinstallieren, reicht es, wenn du diese 4 Docker-Container löscht:

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.

    Quote

      sasam da UGOS meckert, dass dieser Ordner bereits vorhanden ist, obwohl er nicht vorhanden ist.

    Erstellst du den Ordner wohl unter “Freigegebener Ordner”? Da muss er nämlich hin. Wenn UGOS meckert, schau bitte nochmal genau, ob nicht doch ein Ordner mit dem selben Namen vorhanden ist. Du kannst diesen Ordner aber auch anders benennen wenn du möchtest. Falls du einen anderen Namen wählst, dann muss aber auch die nachfolgend beschriebene Codezeile entsprechend angepasst werden (nur das Wort Medien vor dem :ro, der Rest bleibt gleich).

    Der optionale Medienordner in der Datei “immich.yml” heißt “Medien”, dieser Ordner muss VOR der Installation unter “Freigegebener Order” im Dateimanager angelegt werden.

    Das Volume-Mapping zu diesem Ordner erfolgt durch folgende Code-Zeile der Datei “immich.yml”:

    - /volume1/Medien:/mnt/media/Medien:ro

    Packe deine bisherigen Freigaben “Bilder, Bilder Smartphone, Bilder sonst irgendwas etc.” in den Ordner Medien und berechtige den Ordner “Medien” für deine Benutzer wie du es gerne hättest, so können sie auch außerhalb von Immich per Netzlaufwerk auf die Bilder zugreifen.

    Den Ordner “Medien” kannst du nach der Installation als Admin in Immich wie folgt mappen/einbinden:

    image

    image

    image

    image


    Anschließend auf das 3-Punkte-Menü klicken und die externe Bibliothek scannen:
    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    Dann als Besitzer anmelden und andere Benutzer für den Zugriff auf die Freigabe “Medien” berechtigen, dies kannst du unter dem Menüpunkt "Partner-Sharing" erledigen:

    image

    image

    LG Willi

  • Quote

      Willi Erstellst du den Ordner wohl unter “Freigegebener Ordner”? Da muss er nämlich hin. Wenn UGOS meckert, schau bitte nochmal genau, ob nicht doch ein Ordner mit dem selben Namen vorhanden ist.

    Vielen Dank Willi 🙃

    Es klappt mit dem Ordner z.B. "Bilder", weil er vorher bereits unter freigegebene Order vorhanden war. Möchte ich nun den Ordner "Medien", unter freigegebene Ordner erstellen (gefällt mir, die Bezeichnung und mein innerer Monk sagt mir, es muß funktionieren 🤪), mosert UGOS das der Ordner bereits vorhanden ist, obwohl er es nicht ist 😶
    Ich habe auch noch nie einen Ordner mit diesem Namen gehabt. Daher war meine Frage, unter anderen, wie ich immich „komplett“ löschen kann, damit UGOS merkt, es gibt keinen freigegebenen Ordner "Medien".

    Ein Neustart des NAS hat übrigens nicht geholfen.

    image

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

  •   sasam

    Die Codezeile aus der Datei immich.yml erstellt keinen Ordner im Filesystem von UGOS, sondern
    mappt (= verbindet) lediglich einen vorhandenen Freigabeordner namens "Medien" in den Docker-Container.

    - /volume1/Medien:/mnt/media/Medien:ro

    Die Ursache dieser Meldung im UGOS Dateimanagers ist mir also nicht schlüssig, weil sie aus meiner Sicht in
    keinem Zusammenhang mit der Installationsroutine steht.

    Ich würde dir empfehlen, diesbezüglich ein Ticket bei technischen Support zu erstellen. Immich musst du
    hierbei nicht erwähnen, sondern lediglich, dass du den Freigabeordner "Medien" nicht erstellen kannst.
    Beschreibe den Fehler detailliert, am Besten fügst du dem Ticket deinenn Screenshot mit der Fehlermeldung
    als Anhang bei. Du kannst das Ticket ohne Weiteres in deutscher Sprache erstellen, der technische Support
    begrüßt dies sogar.

    Zur Erstellung eines Tickets, am Homescreen deines NAS einfach auf Support klicken und nacheinander
    den Schritten der nachfolgenden Screenshots folgen:

    image

    image

    image

    image

    Wenn du dein NAS bereits registriert hast, kannst du dich mit deinen Zugangsdaten einloggen und das Ticket
    mit einem Klick auf "Support-Ticket" erstellen:

    image

    Ansonsten klicke im Anmeldefenster rechts unten auf "Jetzt egistrieren" und folge dem Registrierungslink, der
    dir danach per E-Mail zugeschickt wird und folge den Anweisungen am Bildschirm.

    Der Support antwortet in der Regel relativ zügig, eine Rückmeldung bez. der Problemlösung wäre toll.
    LG Willi

  •   Willi
    Habe mal ein Ticket erstellt, bin gespannt.
    Ich berichte auf jeden Fall das Ergebnis.

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

  • Der Support ist schon erste Sahne, muss ich sagen. Kaum etwas geschrieben, kommt prompt eine Antwort. Da kann sich manch ein Hersteller eine dicke Scheibe von abschneiden.

    Erst wollte der Support das ich Systemdiagnosedaten generiere und zusende, nun sind wir so verblieben, morgen nach meinem Feierabend (dann ist es „drüben“ so 10Uhr) werden sie sich per TeamViewer bei mir einloggen und schauen was faul ist. Donnerstag um 6Uhr werden sie sich bei mir einloggen. Habe mich in den Zeitzonen etwas vertan 🤪
    Edit:
    So, der Support hat mich nochmal kontaktiert. Bedingt durch das Neujahresfest, geht das erst nach dem 05. Februar. Ich habe den 06.02. vorgeschlagen.
    Auf jeden Fall werde ich berichten, ob und welche Lösung gefunden wurde.

    Bin echt gespannt.

    Edit2:

    Post #14 in diesem Beitrag hat das Problem gelöst. Vielen Dank an rusty für das Bereitstellen der Infos.

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

    Edited once, last by sasam: Lösung des Problems (February 6, 2025 at 8:58 AM).

  • Willi

    Gibt es eine Anleitung, wie ich auf "mein" immich auch außerhalb vom Lokalen Netzwerk erreichen kann ?

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

  • @"sasam"#150

    Hierzu würde ich empfehlen, VPN auf deinem Router einzurichten. Das ist wohl die sicherste Methode, um von extern auf dein NAS zu Hause zuzugreifen. Ich finde diese Art von Zugriff auf jedem Fall sicherer, als die UgreenLink-Methode 😉.

    Falls du eine Fritzbox hast, kannst du das in ein paar Minuten mit "Wireguard" umsetzen.
    "Wireguard" hat auch eine App, in aktiviertem Zustand wärst du quasi von überall aus in deinem LAN zu Hause
    und kannst immich (wie auch intern) per http://IP-Adresse:Port oder der Immich-App aus dem App-Store erreichen.

    Schau dir mal diese Anleitung an:

  • Kann ich nur bestätigen, das klappt auf Anhieb, und wie Willi schon geschrieben hat, sehr sicher.

    Meine Hardware

    iDX6011 Pro in Späh ^^

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Cruc. CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Funktioniert echt sehr gut, vielen Dank für diese Info.

    Ich habe allerdings noch eine Frage, sorry das ich nerve 😔

    Wie kann ich immich aktualisieren ?

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

  •   sasam

    Einfach in Portainer diese 4 Container stoppen:

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.

    Danach Stacks > immich > Editor >Update the Stack > "Re-pull Image and redeploy" einschalten > Update

    image

    Der Vorgang kann dann gute 10 Minuten oder länger dauern, es werden einige Gigabyte heruntergeladen.

    Nach dieser Erfolgsmeldung hast du dann die neuseste Version von Immich:

    image

    Fertig.

  • Hallo zusammen, bin ganz neu hier und neu mit NAS und einem kleinen DXP2800.
    Hab mich nun hieran versucht bin dann auch an dem Medienordner gescheitert, weil nicht zuerst als Share erstellt. Die Installation erstellt scheinbar doch einen "Medien" ordner auf dem NAS. Der Support hat mir soweit sehr schnell, sehr nett geholfen den Weg dorthin per ssh Verbindung zu finden und den besagten Ordner dann von Hand wieder zu löschen.

    in Portainer und Docker alles gelöscht, auf dem Share den immich Ordner gelöscht und danach dann:
    Für Anfänger (so wie mich) :D, aus dem Ticket:

    Terminal geöffnet und verbunden

    ssh admin_account@IP Address
    Enter password
    sudo -i #to get superuser rights
    Enter password
    User now shows "root@Device_name"
    Enter cd\
    Enter cd /volume1 #change from standard folder (home/username) to volume1
    enter ls -la #list folders
    Enter rm -rf "foldername" #delete Folder "Medien" if visible

    Danach erst den Medien Shar und dann immich nochmal ganz von vorne neu erstellt und es geht, mit einer Ausnahme.

    Bei mir werden die Bilder nur einseitig synchronisiert. Sprich vom Ugreen OS nach Immich. Lösche ich zB aber auf Immich was. löscht es die Bilder nicht im Medien Share. Gleiches für Upload via immich. Dort hochgeladenes ist auf Ugos nicht sichtbar im Dateimanager.

    Hat mir jemand evtl. eine Idee was ich hier falsch gemacht habe?

    Edited once, last by rusty (February 5, 2025 at 9:59 PM).

  • Bei mir werden die Bilder nur einseitig synchronisiert

    In der Immich.yml wird der Ordner "Medien" mit der Berechtigung "Read-Only", also nur lesendem Zugriff gemappt.
    Wenn immich schreibenden Zugriff auf den externen Medienordner haben soll, dann einfach den Part :ro in der Codezeile
    für das Mapping entfernen und den Stack erneut ausführen.

    /volume1/Medien:/mnt/media/Medien:ro ändern in /volume1/Medien:/mnt/media/Medien

  • rusty

    Danke dafür, hat bei mir ebenfalls funktioniert, mit dem Medienordner.

    Dann schreibe ich den Support, dass wir die TeamViewer Session um 10Uhr nicht brauchen.

    Meine Hardware


    • DXP4800Plus | Samsung 8GB DDR5 5600MHz PC5-44800 CL46 | 2x Seagate Ironwolf 6TB, 2x Seagate Ironwolf 8TB | 1x Kingston 1TB SNV2SG1000

  • Hallo,

    ich bin bei der hervorragenden Anleitung bis zu dem Punkt 18 gekommen...

    Leider ist nach einigen Minuten eine Fehlermeldung im Portainer angezeigt worden...

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    ich habe vorher in Freigegebene Ordner den Ordner Kovatech-Fotos erstellt und in der immich.yaml dazu die Zeile wie folgt geändert...

    volumes:
    - /volume1/Kovatech-Fotos:/mnt/media/Kovatech-Fotos: #Pfad zu externen Medien (optional)

    passt das so?

    In dem Kovatech-Fotos Ordner ist nur ein weiterer Ordner mit ca. 10 niedrig aufgelösten Fotos drin... damit die Indexierung nicht reinhaut falls es funktionieren sollte!

    Zur Info, bei mir läuft im Hintergrund auf dem NAS noch der RAID Aufbau... vielleicht hängt das damit zusammen?


    Grüsse, Kova!

  • Ich habe festgestellt dass ich den DOPPELPUNKT nach dem Kovatech-Fotos nicht entfernt hatte... diesen hab ich nun entfernt!

    auch habe ich wie weiter oben beschrieben nur meinen Wunsch Ordner Namen vor dem :ro geändert... wenn ich das richtig verstehe bleibt das erste Medien in der Zeile drin!?

    "Erstellst du den Ordner wohl unter “Freigegebener Ordner”? Da muss er nämlich hin. Wenn UGOS meckert, schau bitte nochmal genau, ob nicht doch ein Ordner mit dem selben Namen vorhanden ist. Du kannst diesen Ordner aber auch anders benennen wenn du möchtest. Falls du einen anderen Namen wählst, dann muss aber auch die nachfolgend beschriebene Codezeile entsprechend angepasst werden (nur das Wort Medien vor dem :ro, der Rest bleibt gleich)."


    Nun läuft das Deployment schon eine ganze Weile ohne Fehlermeldung durch... sieht schonmal besser aus!

    so sieht der Eintrag jetzt aus...

    volumes:
    - /volume1/Medien:/mnt/media/Kovatech-Fotos #Pfad zu externen Medien (optional)


    Ich lass das Ding jetzt mal werkeln...


    Grüsse, Kova!

  • so sieht der Eintrag jetzt aus...

    volumes:
    - /volume1/Medien:/mnt/media/Kovatech-Fotos #Pfad zu externen Medien (optional)

    Diese Zeile ist falsch. Sofern sich dein Freigabeordner "Kovatech-Fotos" direkt (also nicht als Unterordner) auf dem Volume 1 befindet, musst du die Zeile wie folgt anpassen (die Syntax für ein Volume-Mapping lautet immer Freigabepfad:Containerpfad):

    Code
    volumes:
    - /volume1/Kovatech-Fotos:/mnt/media/Kovatech-Fotos

    Tipp: den korrekten Freigabepfad (Abschnitt vor dem Doppelpunkt) findest du heraus, indem du in den Dateimanager wechselst, dann per rechter Maustaste auf deinen Ordner klickst und Eigenschften wählst. Unter "Ort" wird der korrekte Pfad angezeigt, welcher sich mit einem Klick auf "Link kopieren" gleich in die Zwischenablage befördern lässt:

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    Du musst nun also wie folgt vorgehen:

    1. Diese 4 Container stoppen

    This image is exclusive to our members!
    Please log in or register for free to view graphics and attachments.


    2. Danach Stacks > immich > Editor > Zeile anpassen > Update the Stack > "Re-pull Image and redeploy" ausschalten > Update

    3. Bei erfolgreicher Fertigstellung mit den Schritten aus Beitrag #3 ab dem Punkt "Den Ordner “Medien” kannst du nach der Installation als Admin in Immich wie folgt mappen/einbinden:", fortfahren (der beschriebene Ordner "Medien" ist in deinem Fall der Ordner "Kovatech-Fotos", dass musst du bei der Umsetzung berücksichtigen).

    LG Willi

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!