{"id":181,"date":"2025-03-05T22:52:28","date_gmt":"2025-03-05T21:52:28","guid":{"rendered":"https:\/\/escher.cc\/?p=181"},"modified":"2025-03-07T00:38:35","modified_gmt":"2025-03-06T23:38:35","slug":"immich-als-lxc-auf-proxmox","status":"publish","type":"post","link":"https:\/\/www.escher.cc\/index.php\/2025\/03\/05\/immich-als-lxc-auf-proxmox\/","title":{"rendered":"Immich als LXC auf Proxmox"},"content":{"rendered":"\n<p>Bei Immich handelt es sich um ein Bildverwaltungsprogramm als Alternative zu Google-Photos.<br>Open-Source und mit Clients f\u00fcr Endger\u00e4te wie Android &amp; iOS.<\/p>\n\n\n\n<p>Leider gibt es kein &#8222;Helper-Script&#8220;, sodass wir einen frischen Debian-Container mit eigenem User und Docker anlegen. Darauf wird Immich dann laufen.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Container anlegen<\/strong><\/p>\n\n\n\n<p>Mein Container hat folgende Eckdaten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ID 218<\/li>\n\n\n\n<li>Hostname &#8222;immich-prod-lxc&#8220;<\/li>\n\n\n\n<li>Privileged &amp; Nesting<\/li>\n\n\n\n<li>Template &#8222;Debian Standard 12.7.1 amd64<\/li>\n\n\n\n<li>Disk-Size 20GB<\/li>\n\n\n\n<li>4 CPU Cores<\/li>\n\n\n\n<li>8GB RAM<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Anmelden, System aktualisieren, sudo instaliieren und User anlegen<\/strong><\/p>\n\n\n\n<p>Meldet euch mit root und dem vergebenen Passwort an und legt einen User f\u00fcr Immich an.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">apt update &amp;&amp; apt upgrade -y<br>apt install sudo -y<br>adduser immich<br>adduser immich sudo<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Installation von Docker (mit User immich)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br>sudo apt-get install curl -y<br>sudo install -m 0755 -d \/etc\/apt\/keyrings<br>sudo curl -fsSL https:\/\/download.docker.com\/linux\/debian\/gpg -o \/etc\/apt\/keyrings\/docker.asc<br>sudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<br><br>echo \\<br>  \"deb [arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.asc] https:\/\/download.docker.com\/linux\/debian \\<br>  $(. \/etc\/os-release &amp;&amp; echo \"$VERSION_CODENAME\") stable\" | \\<br>  sudo tee \/etc\/apt\/sources.list.d\/docker.list > \/dev\/null<br><br>sudo apt-get update<br><br>sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y<br><br>sudo usermod -aG docker $USER<br>newgrp docker<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Installation von Immich via Docker (als user immich)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir .\/immich-app\ncd .\/immich-app\n\nwget -O docker-compose.yml https:\/\/github.com\/immich-app\/immich\/releases\/latest\/download\/docker-compose.yml\n\nwget -O .env https:\/\/github.com\/immich-app\/immich\/releases\/latest\/download\/example.env<\/code><\/pre>\n\n\n\n<p>Jetzt wird in der Datei .env der Pfad f\u00fcr die Datenbank und den Upload gesetzt.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sed -i 's|.\/library|\/mnt\/immich\/library|g' .env<br>sed -i 's|.\/postgres|\/mnt\/immich\/postgres|g' .env<br><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Mountpoint in Proxmox setzen<\/strong><\/p>\n\n\n\n<p>Die Bilder und die Datenbank liegen auf \/mnt\/immich. Deswegen h\u00e4nge ich einen Mountpoint ein. Diesen bitte jetzt erstellen (in der GUI von Proxmox)<\/p>\n\n\n\n<p>Wenn der Mountpoint eingerichtet ist, den Besitzer auf immich umstellen<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo chown immich:immich immich -R<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Start oder Restore?<\/strong><\/p>\n\n\n\n<p>Wenn ihr ein Backup einspielen m\u00f6chtet, m\u00fcsst ihr das vor dem ersten Start von Immich tun.<br>Ohne Backup kann Immich direkt gestartet werden.<\/p>\n\n\n\n<p>Restore:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">docker compose pull<br>docker compose create<br>docker start immich_postgres<br>sleep 10<br><br>gunzip &lt; \"<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">immich-db-backup-1741226400008.sql.gz<\/mark>\" | sed \"s\/SELECT pg_catalog.set_config('search_path', '', false);\/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);\/g\" | docker exec -i immich_postgres psql --dbname=<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">immich<\/mark> --username=<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">postgres<\/mark><br><br>docker compose up -d<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"has-medium-font-size\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">&#8212; ARTIKEL NOCH IN ARBEIT &#8212;<\/mark><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei Immich handelt es sich um ein Bildverwaltungsprogramm als Alternative zu Google-Photos.Open-Source und mit Clients f\u00fcr Endger\u00e4te wie Android &amp; iOS. Leider gibt es kein &#8222;Helper-Script&#8220;, sodass wir einen frischen Debian-Container mit eigenem User&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-181","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/posts\/181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/comments?post=181"}],"version-history":[{"count":2,"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/posts\/181\/revisions"}],"predecessor-version":[{"id":184,"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/posts\/181\/revisions\/184"}],"wp:attachment":[{"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/media?parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/categories?post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.escher.cc\/index.php\/wp-json\/wp\/v2\/tags?post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}