Immich als LXC (Linux-Container) in Proxmox
Ich habe Immich als beste Alternative zu Google Fotos gefunden. Die Bilder bleiben in der eigenen Hand. Es gibt Apps für alle Endgeräte sowie eine schöne Web-GUI. Normalerweise wird Immich idealerweise mit Docker installiert, aber da ich derzeit im Proxmox-Fieber bin, nachdem Unraid mich enttäuscht hat, habe ich nach eine Lösung als LXC gesucht und gefunden. Die Anleitung habe ich von Github übernommen. Referenzen gibt’s ganz unten…
Mein System läuft derzeit auf Proxmox VE 8.2.4
Container anlegen:
Wenn wir schon im LXC arbeiten wollen, legen wir diesen auch bitte mit folgender Konfiguration an.
Unprivileged, 8GB, RAM, 16GB Storage, 2 CPUs, feste IP-Adresse.
In Proxmox müsst ihr dazu das LXC-Template zu Ubuntu 24.04 nehmen.
Weiter geht’s….
Container läuft? Dann erstmal die Kiste aktualisieren und die benötigten Pakete installieren.
Mit root am Container anmelden und aktualisieren…
apt update && sudo apt upgrade -y
apt install curl git postgresql-common redis -y
PostgreSQL installieren
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
apt install postgresql postgresql-16-pgvector -y
Immich-User anlegen – Beispielpasswort: immich-pass
adduser immich
usermod -aG sudo immich
Datenbank vorbereiten – Beispielpasswort: immich-db-pass
su postgres
psql
CREATE DATABASE immich;
CREATE USER immich WITH ENCRYPTED PASSWORD 'immich-db-pass';
GRANT ALL PRIVILEGES ON DATABASE immich to immich;
ALTER USER immich WITH SUPERUSER;
\q
exit
FFmpeg installieren
apt install gnupg software-properties-common
add-apt-repository universe
mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor -o /etc/apt/keyrings/jellyfin.gpg
export VERSION_OS="$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release )"
export VERSION_CODENAME="$( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release )"
export DPKG_ARCHITECTURE="$( dpkg --print-architecture )"
cat <<EOF | tee /etc/apt/sources.list.d/jellyfin.sources
Types: deb
URIs: https://repo.jellyfin.org/${VERSION_OS}
Suites: ${VERSION_CODENAME}
Components: main
Architectures: ${DPKG_ARCHITECTURE}
Signed-By: /etc/apt/keyrings/jellyfin.gpg
EOF
apt update
apt install jellyfin-ffmpeg6
ln -s /usr/lib/jellyfin-ffmpeg/ffmpeg /bin/ffmpeg
ln -s /usr/lib/jellyfin-ffmpeg/ffprobe /bin/ffprobe
Node.js installieren
su immich curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash exit su immich nvm install 20 exit
Custom-Photo-Processing-Library installieren
sed -i '165 s/#//' /etc/locale.gen
locale-gen
Compiler Tools installieren…
su immich
cd ~
git clone https://github.com/loeeeee/immich-in-lxc.git
cd immich-in-lxc
exit
su
cd /home/immich/immich-in-lxc/
./dep-ubuntu.sh
Compilieren starten
./pre-install.sh
su immich
./install.sh
./install.sh
Anpassen der Runtime-Variablen
nano runtime.env
Hier die Timezone korrigieren und das anfangs gesetzte Datenbankpasswort anpassen
Systemd-Service-Files laden und starten
su
./post-install.sh
systemctl daemon-reload && \
systemctl start immich-microservices && \
systemctl start immich-ml && \
systemctl start immich-web
systemctl enable immich-microservices && \
systemctl enable immich-ml && \
systemctl enable immich-web
Alles richtig gemacht? Dann startet euer Immich unter http://ip-adresse:3001
Weiter in Immich…
- Admin anlegen (EMail-Adresse, Passwort, Name)
- Danach mit den Daten anmelden und das light oder dark theme auswählen
- Die Privacy könnt ihr anpassen, ist aber optional
- Die Storage template engine lassen wir deaktivert
Jetzt sind wir im Portal…
Referenzen: Github-Anleitung, Immich