Heute möchte ich euch eine Software vorstellen, dir mir im Alltag viel Zeit einspart. Heutzutage haben wir tausende Bilder und Videos zu verwalten. Man dokumentiert den Wachstum der Kinder , will besondere Momente festhalten, oder nimmt einfach nur gerne Fotos von der Natur auf. Fotos und Videos gehören einfach zum heutigen Alltag. Lange Zeit habe ich mit Cloud Diensten gearbeitet. Ich will hier gar keine Namen nennen, aber die machen alle, mehr oder weniger gut, was ihre Aufgabe ist, nämlich Bilder verwalten. Irgendwie hat es mir nur nie gefallen, meine Bilder in die Cloud zu stellen. Deshalb möchte ich heute eine Software vorstellen, die mir aus meiner Sicht mindestens den gleichen Komfort bietet, aber lokal betrieben werden kann.
Um euch die Arbeit zu erleichtern, habe ich ein Installationsskript erstellt, welches euch den Einstieg in diese Software hoffentlich vereinfacht. Es kann als LXC Container unter Proxmox, VM oder direkt auf einer Hardware installiert werden.
Seht es mir nach, dass ich nicht alle Varianten durchtesten konnte. Voraussetzung ist ein 64 Bit basiertes Linux Betriebssystem ( mit Ubuntu getestet) . Auch solltet ihr ein wenig RAM mitbringen, da auch KI basierte Verfahren zum Einsatz kommen. Mehr dazu findet ihr im Video.
Immich ist kostenlos, bietet aber in der Software die Möglichkeit eine Lizenz zu erwerben. Damit erweitert ihr nicht den Funktionsumfang, aber ihr unterstützt damit die Entwickler. Die Pflege und Entwicklung einer Software ist immer mit sehr viel Aufwand verbunden. Wenn euch die Software also gefällt, lege ich es jeden ans Herz , hier ggf. auch tätig zu werden 🙂
Um das Skript zu installieren, führt folgenden Befehl aus:
wget https://blog.smarthomeundmore.de/wp-content/uploads/install_immich.sh
danach muss das Skript noch ausführbar gemacht werden.
chmod +x install_immich.sh
Um jetzt die Installation auszuführen, müsst ihr nur noch das Skript aufrufen.
./install_immich.sh
Jetzt könnt ihr die bei der Installation angezeigte Adresse im Browser eingeben und loslegen.

Falls ihr euch das Skript manuell anlegen wollt, hier noch die Inhalte des Skriptes
#!/bin/bash set -e # Beende das Skript bei Fehlern # Variablen definieren INSTALL_DIR="/opt/immich-app" IMMICH_USER="immich" DOCKER_COMPOSE_YML_URL="https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml" ENV_FILE_URL="https://github.com/immich-app/immich/releases/latest/download/example.env" # Passwort f r den Immich-Benutzer abfragen echo "Bitte ein Passwort f r den Benutzer '$IMMICH_USER' eingeben:" read -s IMMICH_PASSWORD echo "Bitte das Passwort erneut eingeben:" read -s IMMICH_PASSWORD_CONFIRM if [ "$IMMICH_PASSWORD" != "$IMMICH_PASSWORD_CONFIRM" ]; then echo "Passw rter stimmen nicht berein. Abbruch." exit 1 fi # System aktualisieren sudo apt update && sudo apt upgrade -y # Notwendige Pakete installieren sudo apt install -y curl wget apt-transport-https ca-certificates gnupg lsb-release pwgen # Docker-Repository hinzuf gen und Docker installieren if ! command -v docker &> /dev/null; then curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io sudo usermod -aG docker $USER newgrp docker << END echo "Docker wurde installiert und ist sofort ohne Abmeldung nutzbar." END fi # Docker Compose installieren if ! command -v docker compose &> /dev/null; then sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose fi # Benutzer f r Immich erstellen if ! id "$IMMICH_USER" &>/dev/null; then sudo useradd -m -s /bin/bash "$IMMICH_USER" echo "$IMMICH_USER:$IMMICH_PASSWORD" | sudo chpasswd echo "Benutzer $IMMICH_USER wurde erstellt." fi # Benutzer zur Docker-Gruppe hinzuf gen sudo usermod -aG docker "$IMMICH_USER" # Docker-Socket-Berechtigungen setzen sudo chmod 666 /var/run/docker.sock # Installationsverzeichnis erstellen und Berechtigungen setzen sudo mkdir -p "$INSTALL_DIR" sudo chown -R "$IMMICH_USER:$IMMICH_USER" "$INSTALL_DIR" cd "$INSTALL_DIR" # docker-compose.yml und .env herunterladen sudo -u "$IMMICH_USER" wget -O docker-compose.yml "$DOCKER_COMPOSE_YML_URL" sudo -u "$IMMICH_USER" wget -O .env "$ENV_FILE_URL" # Standardwerte in der .env Datei setzen sudo -u "$IMMICH_USER" sed -i "s|UPLOAD_LOCATION=./library|UPLOAD_LOCATION=$INSTALL_DIR/library|g" .env sudo -u "$IMMICH_USER" sed -i "s|DB_DATA_LOCATION=./postgres|DB_DATA_LOCATION=$INSTALL_DIR/postgres|g" .env sudo -u "$IMMICH_USER" sed -i "s|DB_PASSWORD=postgres|DB_PASSWORD=$IMMICH_PASSWORD|g" .env # Container starten mit neuem Benutzer sudo su - "$IMMICH_USER" -c "cd $INSTALL_DIR && docker compose up -d" # IP-Adresse und Port ausgeben IP_ADDRESS=$(hostname -I | awk '{print $1}') PORT=$(sudo grep -oP 'IMMICH_SERVER_PORT=\K\d+' .env || echo "2283") # Abschlussmeldung echo "Installation abgeschlossen! Immich l uft nun im Hintergrund unter dem Benutzer $IMMICH_USER." echo "Installationsverzeichnis: $INSTALL_DIR" echo "Datenbank-Passwort: $IMMICH_PASSWORD" echo "Immich kann unter folgender Adresse erreicht werden: http://$IP_ADDRESS:$PORT"