Immich als LXC auf Proxmox

Bei Immich handelt es sich um ein Bildverwaltungsprogramm als Alternative zu Google-Photos.
Open-Source und mit Clients für Endgeräte wie Android & iOS.

Leider gibt es kein „Helper-Script“, sodass wir einen frischen Debian-Container mit eigenem User und Docker anlegen. Darauf wird Immich dann laufen.


Container anlegen

Mein Container hat folgende Eckdaten:

  • ID 218
  • Hostname „immich-prod-lxc“
  • Privileged & Nesting
  • Template „Debian Standard 12.7.1 amd64
  • Disk-Size 20GB
  • 4 CPU Cores
  • 8GB RAM

Anmelden, System aktualisieren, sudo instaliieren und User anlegen

Meldet euch mit root und dem vergebenen Passwort an und legt einen User für Immich an.

apt update && apt upgrade -y
apt install sudo -y
adduser immich
adduser immich sudo

Installation von Docker (mit User immich)


sudo apt-get install curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

sudo usermod -aG docker $USER
newgrp docker

Installation von Immich via Docker (als user immich)

mkdir ./immich-app
cd ./immich-app

wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml

wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

Jetzt wird in der Datei .env der Pfad für die Datenbank und den Upload gesetzt.

sed -i 's|./library|/mnt/immich/library|g' .env
sed -i 's|./postgres|/mnt/immich/postgres|g' .env

Mountpoint in Proxmox setzen

Die Bilder und die Datenbank liegen auf /mnt/immich. Deswegen hänge ich einen Mountpoint ein. Diesen bitte jetzt erstellen (in der GUI von Proxmox)

Wenn der Mountpoint eingerichtet ist, den Besitzer auf immich umstellen

sudo chown immich:immich immich -R

Start oder Restore?

Wenn ihr ein Backup einspielen möchtet, müsst ihr das vor dem ersten Start von Immich tun.
Ohne Backup kann Immich direkt gestartet werden.

Restore:

docker compose pull
docker compose create
docker start immich_postgres
sleep 10

gunzip < "immich-db-backup-1741226400008.sql.gz" | 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=immich --username=postgres

docker compose up -d

— ARTIKEL NOCH IN ARBEIT —