Paperless NGX komplett einrichten – mit REST API Home Assistant Sensor

YouTube player

In diesem Video zeige ich euch, wie ihr unter Proxmox ( LXC oder VM), oder einem separaten PC Paperless NGX einrichtet. Da es recht viele Dinge dabei zu berücksichtigen gibt, habe ich euch dafür 3 Skripte erstellt.

  1. Installation
  2. Backup
  3. Restore

Mit diesen Skripten wird euch fast die gesamte Arbeit abgenommen.

Möchtest du Paperless ngx als Home Assistant Addon installieren, findest du hier eine Anleitung dazu:
https://youtu.be/wCiSkHQtYEE

Wichtiger Hinweis ! Bitte unbedingt beachten!

Ich habe die Freigabenamen umbenannt. Im Video bin ich darauf nochmal kurz eingegangen. Die Freigaben heißen nun:

consume

backup

restore

D.h. , wenn unter Windows die Freigaben gemountet werden, müssen diese Freigabenamen verwendet werden !

Skript install_paperless.sh

#!/bin/bash
set -euo pipefail

# Funktion zur sicheren Passworteingabe mit Bestätigung
function prompt_for_password() {
 local password password_confirm

 # Falls PAPERLESS_PASSWORD eingegeben wird, zusätzliche Erklärung ausgeben
 if [[ "$1" == "PAPERLESS_PASSWORD" ]]; then
   echo -e "\n💡 Hinweis: Dieses Passwort wird für den Linux-Benutzer 'paperless' und den Samba-Server verwendet."
   echo -e "Es wird für den Zugriff auf freigegebene Samba-Ordner benötigt.\n"
 fi

 while true; do
   echo -e "\n🔒 Bitte geben Sie das Passwort für **$1** ein:"
   read -s password
   echo -e "\n🔒 Bitte bestätigen Sie das Passwort:"
   read -s password_confirm

   if [[ "$password" == "$password_confirm" ]]; then
     echo -e "\n✅ Passwort erfolgreich gesetzt für **$1**.\n"
     eval "$2='$password'"
     break
   else
     echo -e "\n❌ Die Passwörter stimmen nicht überein. Bitte erneut eingeben.\n"
   fi
 done
}

# Funktion zur Eingabe des Admin-Benutzernamens mit Standardwert
function prompt_for_admin_user() {
 echo -e "\n👤 Bitte geben Sie den **Admin-Benutzernamen** ein (Standard: paperless):"
 read admin_user_input
 ADMIN_USER="${admin_user_input:-paperless}"
 echo -e "\n✅ Admin-Benutzer wurde auf **'$ADMIN_USER'** gesetzt.\n"
}

# Passwörter abfragen
prompt_for_password "PAPERLESS_PASSWORD" PAPERLESS_PASSWORD
prompt_for_admin_user
prompt_for_password "ADMIN_PASSWORD" ADMIN_PASSWORD

# Weitere Konfigurationen
SAMBA_PASSWORD="$PAPERLESS_PASSWORD"
DB_PASSWORD="paperless"

# System aktualisieren und benötigte Pakete installieren
update_and_install_dependencies() {
 echo "Aktualisiere Paketliste und installiere benötigte Pakete..."
 sudo apt update
 sudo apt install -y apt-transport-https curl jq gnupg openssh-server samba samba-common-bin
}

# Docker-Repository hinzufügen
add_docker_repo() {
 echo "Füge Docker GPG-Schlüssel und Repository hinzu..."
 sudo mkdir -p /etc/apt/keyrings
 if [[ ! -f /etc/apt/keyrings/docker.gpg ]]; then
   curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 fi

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

# Paperless-Benutzer und Gruppe anlegen
ensure_paperless_user_and_group() {
 if ! getent group paperless &>/dev/null; then
   echo "Erstelle Gruppe 'paperless' mit GID 1002..."
   sudo groupadd -g 1002 paperless
 fi

 if ! id -u paperless &>/dev/null; then
   echo "Erstelle Benutzer 'paperless' mit UID 1002 und GID 1002..."
   sudo useradd -m -s /bin/bash -u 1002 -g paperless paperless
   echo "paperless:$PAPERLESS_PASSWORD" | sudo chpasswd
 fi
}

# Docker installieren
install_docker() {
 if ! command -v docker &>/dev/null; then
   echo "Docker wird installiert..."
   sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
   sudo systemctl enable --now docker
 fi

 if ! groups paperless | grep -q "\bdocker\b"; then
   echo "Füge Benutzer 'paperless' zur Docker-Gruppe hinzu..."
   sudo usermod -aG docker paperless
 fi
}
# Samba Konfiguration
configure_samba() {
  # Backup der Original-Samba-Konfiguration
  sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
  sudo mkdir -p /data/paperless/{backup,restore}
  sudo chown -R paperless:paperless /data/paperless/
  sudo chmod -R 770 /data/paperless/

  # Für den Share [consume] soll nur der Ordner /data/paperless/consume freigegeben werden:
  if ! grep -q "^\[consume\]" /etc/samba/smb.conf; then
    sudo tee -a /etc/samba/smb.conf > /dev/null <<'EOF'

[consume]
   comment = Paperless Daten
   path = /data/paperless/consume
   browsable = yes
   writable = yes
   guest ok = no
   create mask = 0770
   directory mask = 0770
   valid users = paperless
EOF
  fi

  # Share für Backup
  if ! grep -q "^\[backup\]" /etc/samba/smb.conf; then
    sudo tee -a /etc/samba/smb.conf > /dev/null <<'EOF'

[backup]
   comment = Paperless Backup Daten
   path = /data/paperless/backup
   browsable = yes
   writable = yes
   guest ok = no
   create mask = 0770
   directory mask = 0770
   valid users = paperless
EOF
  fi

  # Share für Restore
  if ! grep -q "^\[restore\]" /etc/samba/smb.conf; then
    sudo tee -a /etc/samba/smb.conf > /dev/null <<'EOF'

[restore]
   comment = Paperless Restore Daten
   path = /data/paperless/restore
   browsable = yes
   writable = yes
   guest ok = no
   create mask = 0770
   directory mask = 0770
   valid users = paperless
EOF
  fi

  sudo systemctl restart smbd
  echo "Samba Shares [consume], [backup] und [restore] wurden konfiguriert."

 (echo "$SAMBA_PASSWORD"; echo "$SAMBA_PASSWORD") | sudo smbpasswd -a paperless -s
 sudo systemctl restart smbd
}


# Docker-Compose-Datei erstellen
deploy_containers() {
 echo "Erstelle docker-compose.yml im Verzeichnis von 'paperless'..."
 sudo mkdir -p /home/paperless

 cat <<EOL | sudo tee /home/paperless/docker-compose.yml > /dev/null
services:
 broker:
   image: redis:7
   container_name: broker
   restart: unless-stopped
   volumes:
     - /data/paperless/redis/_data:/data

 db:
   image: postgres:16
   container_name: db
   restart: unless-stopped
   volumes:
     - /data/paperless/postgresql/_data:/var/lib/postgresql/data
   environment:
     POSTGRES_DB: paperless
     POSTGRES_USER: paperless
     POSTGRES_PASSWORD: $DB_PASSWORD

 webserver:
   image: ghcr.io/paperless-ngx/paperless-ngx:latest
   container_name: webserver
   restart: unless-stopped
   depends_on:
     - db
     - broker
     - gotenberg
     - tika
   ports:
     - "8001:8000"
   volumes:
     - /data/paperless/consume:/usr/src/paperless/consume
     - /data/paperless/data:/usr/src/paperless/data
     - /data/paperless/media:/usr/src/paperless/media
     - /data/paperless/export:/usr/src/paperless/export
   environment:
     PAPERLESS_ADMIN_USER: $ADMIN_USER
     PAPERLESS_ADMIN_PASSWORD: $ADMIN_PASSWORD
     PAPERLESS_REDIS: redis://broker:6379
     PAPERLESS_DBHOST: db
     PAPERLESS_TIKA_ENABLED: 1
     PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
     PAPERLESS_TIKA_ENDPOINT: http://tika:9998
     PAPERLESS_OCR_LANGUAGE: deu
     PAPERLESS_TIME_ZONE: Europe/Berlin
     PAPERLESS_CONSUMER_ENABLE_BARCODES: "true"
     PAPERLESS_CONSUMER_ENABLE_ASN_BARCODE: "true"
     PAPERLESS_CONSUMER_BARCODE_SCANNER: ZXING
     PAPERLESS_EMAIL_TASK_CRON: '*/10 * * * *'
     USERMAP_UID: "1002"
     USERMAP_GID: "1002"

 gotenberg:
   image: gotenberg/gotenberg:8.8
   restart: unless-stopped
   command:
     - "gotenberg"
     - "--chromium-disable-javascript=false"
     - "--chromium-allow-list=.*"

 tika:
   image: ghcr.io/paperless-ngx/tika:latest
   container_name: tika
   restart: unless-stopped
EOL

 cd /home/paperless
 sudo docker compose up -d
}

# Hauptprogramm
update_and_install_dependencies
add_docker_repo
ensure_paperless_user_and_group
install_docker
configure_samba
deploy_containers

sleep 60
sudo chown -R paperless:paperless /data/paperless 

# Lokale IP-Adresse ermitteln
LOCAL_IP=$(hostname -I | awk '{print $1}')

echo -e "\n🚀 **Paperless ist jetzt bereit!**"
echo -e "🔗 **Zugriff im Browser:** http://$LOCAL_IP:8001\n"
echo -e "🔗 ** Bitte einmal neu booten"

Um die Scripte unter Linux vom Webserver zu laden, kannst du auch folgenden Befehl verwenden.

wget https://blog.smarthomeundmore.de/wp-content/uploads/install_paperless.sh
wget https://blog.smarthomeundmore.de/wp-content/uploads/backup.sh
wget https://blog.smarthomeundmore.de/wp-content/uploads/restore.sh

Danach müssen sie mit:

chmod +x install_paperless.sh
chmod +x backup.sh
chmod +x restore.sh

ausführbar gemacht werden.

Script backup.sh

#!/bin/bash
# Skript: backup.sh
# Dieses Skript führt ein Backup über docker-compose aus und verschiebt anschließend die Backup-Datei(en).

echo "Starte Backup: Ein Backup wird jetzt durchgeführt..."

# Wechsel in das Verzeichnis, in dem sich die docker-compose Datei befindet
cd /home/paperless || { echo "Fehler: Verzeichnis /home/paperless nicht gefunden."; exit 1; }

# Führe den docker-compose Befehl aus
sudo docker compose exec webserver document_exporter ../export -z

# Prüfe, ob der Befehl erfolgreich war
if [ $? -eq 0 ]; then
  echo "Backup erfolgreich abgeschlossen."
  
  # Prüfen, ob das Quellverzeichnis existiert
  if [ -d "/data/paperless/export" ]; then
    # Sicherstellen, dass das Zielverzeichnis existiert (falls nicht, wird es angelegt)
    mkdir -p /data/paperless/backup

    # Prüfen, ob im Quellverzeichnis Dateien vorhanden sind
    if compgen -G "/data/paperless/export/*" > /dev/null; then
      echo "Verschiebe Backup-Datei(en) nach /data/paperless/backup..."
      mv /data/paperless/export/* /data/paperless/backup/
      
      if [ $? -eq 0 ]; then
        echo "Datei(en) erfolgreich verschoben."
      else
        echo "Fehler beim Verschieben der Datei(en)."
      fi
    else
      echo "Keine Datei(en) im Verzeichnis /data/paperless/export gefunden."
    fi
  else
    echo "Quellverzeichnis /data/paperless/export existiert nicht."
  fi
else
  echo "Fehler beim Backup."
fi


Script restore.sh

#!/bin/bash
# Skript: restore.sh
# Dieses Skript stellt ein Backup wieder her.

set -e

echo "Starte Wiederherstellung: Das Backup wird nun wiederhergestellt..."

DOCKER_COMPOSE_FILE="/home/paperless/docker-compose.yml"

# Funktion zum Auskommentieren der Umgebungsvariablen in docker-compose.yml
comment_out_env_vars() {
  echo "Kommentiere PAPERLESS_ADMIN_USER und PAPERLESS_ADMIN_PASSWORD in der docker-compose.yml aus..."

  # Erstelle ein Backup der Datei, falls noch nicht gesichert
  if [ ! -f "${DOCKER_COMPOSE_FILE}.bak" ]; then
    sudo cp "$DOCKER_COMPOSE_FILE" "${DOCKER_COMPOSE_FILE}.bak"
  fi

  # Setze sicherheitshalber Schreibrechte
  sudo chmod u+w "$DOCKER_COMPOSE_FILE"

  # Füge das `#` nur hinzu, falls es noch nicht vorhanden ist
  sudo sed -i 's/^\( *PAPERLESS_ADMIN_USER: \)/#\1/' "$DOCKER_COMPOSE_FILE"
  sudo sed -i 's/^\( *PAPERLESS_ADMIN_PASSWORD: \)/#\1/' "$DOCKER_COMPOSE_FILE"

  echo "Variablen erfolgreich auskommentiert."
}

# Variablen auskommentieren, bevor das Skript weiterläuft
comment_out_env_vars

# Verzeichnisse definieren
BACKUP_DIR="/data/paperless/restore"
EXPORT_DIR="/data/paperless/export"
DIRECTORIES_TO_DELETE=(
  "/data/paperless/consume"
  "/data/paperless/export"
  "/data/paperless/media"
  "/data/paperless/postgresql"
  "/data/paperless/redis"
)

# Prüfe, ob das Backup-Verzeichnis existiert
if [ ! -d "$BACKUP_DIR" ]; then
  echo "Fehler: Backup-Verzeichnis $BACKUP_DIR existiert nicht."
  exit 1
fi

# Schritt 1: Docker Compose herunterfahren
echo "Wechsle in /home/paperless und fahre Docker Compose herunter..."
cd /home/paperless || { echo "Fehler: Verzeichnis /home/paperless nicht gefunden."; exit 1; }
sudo docker compose down

# Schritt 2: Lösche die angegebenen Verzeichnisse
echo "Lösche die folgenden Verzeichnisse:"
for dir in "${DIRECTORIES_TO_DELETE[@]}"; do
  echo "  $dir"
  if [ -d "$dir" ]; then
    sudo rm -rf "$dir"
    echo "    -> $dir gelöscht."
  else
    echo "    -> $dir existiert nicht, überspringe..."
  fi
done

# Schritt 3: Erstelle das Export-Verzeichnis neu
echo "Erstelle das Verzeichnis $EXPORT_DIR..."
sudo mkdir -p "$EXPORT_DIR"
if [ $? -ne 0 ]; then
  echo "Fehler: Konnte $EXPORT_DIR nicht erstellen."
  exit 1
fi

# Schritt 4: Suche nach einer Archivdatei im Backup-Verzeichnis (z. B. *.zip)
ARCHIVE_FILE=$(find "$BACKUP_DIR" -maxdepth 1 -type f -name "*.zip" | head -n 1)
if [ -z "$ARCHIVE_FILE" ]; then
  echo "Fehler: Keine Archivdatei (*.zip) im Backup-Verzeichnis gefunden."
  exit 1
fi
echo "Gefundene Archivdatei: $ARCHIVE_FILE"

# Schritt 5: Kopiere die Archivdatei in das Export-Verzeichnis
echo "Kopiere die Archivdatei nach $EXPORT_DIR..."
sudo cp "$ARCHIVE_FILE" "$EXPORT_DIR"
if [ $? -ne 0 ]; then
  echo "Fehler beim Kopieren der Archivdatei."
  exit 1
fi

# Schritt 6: Wechsel in das Export-Verzeichnis und entpacke die Archivdatei
cd "$EXPORT_DIR" || { echo "Fehler: Konnte nicht in $EXPORT_DIR wechseln."; exit 1; }

# Überprüfe, ob 'unzip' installiert ist und installiere es gegebenenfalls
if ! command -v unzip >/dev/null 2>&1; then
  echo "Das Paket 'unzip' ist nicht installiert. Versuche, es zu installieren..."
  if command -v apt-get >/dev/null 2>&1; then
    sudo apt-get update && sudo apt-get install -y unzip
  elif command -v yum >/dev/null 2>&1; then
    sudo yum install -y unzip
  else
    echo "Kein unterstützter Paketmanager gefunden. Bitte installiere 'unzip' manuell."
    exit 1
  fi
fi

# Entpacken der Archivdatei
ARCHIVE_BASENAME=$(basename "$ARCHIVE_FILE")
echo "Entpacke $ARCHIVE_BASENAME..."
unzip "$ARCHIVE_BASENAME"
if [ $? -ne 0 ]; then
  echo "Fehler beim Entpacken von $ARCHIVE_BASENAME."
  exit 1
fi
echo "Archiv erfolgreich entpackt."

# Optional: Entferne die kopierte Archivdatei, falls sie nicht mehr benötigt wird
# sudo rm "$ARCHIVE_BASENAME"

# Schritt 7: Starte Docker Compose Container neu
echo "Wechsle zurück nach /home/paperless und starte die Container..."
cd /home/paperless || { echo "Fehler: Verzeichnis /home/paperless nicht gefunden."; exit 1; }
sudo -u paperless docker compose up -d
if [ $? -ne 0 ]; then
  echo "Fehler: Docker Compose konnte nicht gestartet werden."
  exit 1
fi

sudo chown -R paperless:paperless /data/paperless/consume /data/paperless/media
sudo chmod -R 775 /data/paperless/consume /data/paperless/media
sudo chown paperless:paperless /home/paperless/docker-compose.yml


sleep 60

cd /home/paperless
# Schritt 8: Führe den Importbefehl aus
echo "Führe Importbefehl aus..."
sudo docker compose exec webserver document_importer ../export
sudo chown -R paperless:paperless /data/paperless 
if [ $? -eq 0 ]; then
  echo "Import erfolgreich abgeschlossen."
else
  echo "Fehler beim Import."
  exit 1
fi
echo " Bitte einmal das System neu booten ! "
echo "---------------------------ENDE--------------------------------"

ASN QR Codes generieren

Avery Zweckform QR-Code Generator von Tobias L. Meier: https://tobiasmaier.info/asn-qr-code-label-generator/

Home Assistant Rest API Sensoren

Im Video habe ich auch gezeigt, wie man einen Sensor in Home Assistant erstellt, um sich die Anzahl der Dokumente im Posteingang anzeigen zu lassen. Die Informationen dazu habe ich von Flemming´s Blog, wo einige Beispielsensoren zu finden sind. Tolle Arbeit und sehr gut erklärt.

Monitoring Paperless-ngx in Home-Assistant – Flemming’s Blog

Empfohlene Hardware für die Digitalisierung und die QR Codes

Ein weiterer Scanner, der häufiger im Kontext mit paperless-ngx genannt wird, ist der Brother ADS-1700W. Da ich diesen allerdings nicht selber getestet habe, kann ich keine direkte Empfehlung dazu aussprechen.

Solltest du in den Scripten noch Fehler finden, kannst du mir gerne deine Korrekturen als Mail zukommen lassen. Meine Kontakdaten findest du im Impressum.

Reicht mein Smart Home & Home Assistant? 🏠 NAS-Systeme im Vergleich – #2 TrueNAS

In der Welt der NAS-Systeme ist TrueNAS eine meiner bevorzugten Optionen, die sowohl für Einsteiger als auch für erfahrene Nutzer viele Möglichkeiten bietet. In diesem Artikel führe ich dich durch die Schritte zur Installation und Konfiguration von TrueNAS, damit du dein eigenes NAS-System optimal nutzen kannst.

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

Vielen Dank für eure Unterstützung!

Einleitung

Ich möchte dir zeigen, wie ich TrueNAS installiere und welche Funktionen es bietet, um mein Smart Home zu unterstützen. Dabei konzentriere ich mich auf die Installation und Grundkonfiguration von TrueNAS.

Installation von TrueNAS

Ich starte mit der Installation von TrueNAS, einem wichtigen Schritt, um die leistungsstarken Funktionen des Systems nutzen zu können. Es gibt verschiedene Versionen von TrueNAS, darunter TrueNAS Core und TrueNAS Scale, die ich kurz erläutere, um dir bei der Auswahl der richtigen Version zu helfen.

Der Installationsprozess

Ich zeige dir, wie ich TrueNAS Scale von einem USB-Stick installiere, und erkläre, wie ich den USB-Stick mit dem TrueNAS-Image bespiele. Dieser Prozess ist einfach und effizient, um das System schnell in Betrieb zu nehmen. Anschließend führe ich die Installation auf der Boot-Festplatte durch.

Wichtige Informationen

Ich spreche über die Hardware-Anforderungen und -Optionen, die du für dein TrueNAS-System in Betracht ziehen solltest. Zudem zeige ich dir, wie ich einen ZFS-Pool erstelle, um die Datenspeicherung zu optimieren, sowie die erste Anmeldung bei TrueNAS und die Benutzeroberfläche.

Erweiterungsmöglichkeiten

Ich stelle einige nützliche Apps vor, die ich in TrueNAS verwende, um die Funktionalität meines Systems zu erweitern. Ein weiteres Highlight ist die Installation von Home Assistant als virtuelle Maschine (VM), um mein Smart Home zu steuern und zu automatisieren. Ich erkläre dabei auch, wie ich Home Assistant Supervised auf TrueNAS installiere, um alle Vorteile der Automatisierung zu nutzen.

Zusätzlich gehe ich auf die Nachteile von TrueNAS ein, damit du eine fundierte Entscheidung treffen kannst, ob es die richtige Lösung für deine Bedürfnisse ist. Außerdem erkläre ich, wie ich USB-Passthrough einrichte, um meine Smart Home-Geräte direkt über TrueNAS zu integrieren, und zeige dir, wie ich SMB-Freigaben einrichte, damit du problemlos auf deine Daten zugreifen kannst.

Fazit

In diesem Artikel habe ich die wichtigsten Punkte zur Installation und Konfiguration von TrueNAS zusammengefasst. Alle wichtigen Details werden im Video ausführlich gezeigt, sodass du den gesamten Prozess nachvollziehen kannst. Ich betone die Vorteile, die TrueNAS für mein Smart Home bieten kann, sowie die Nachteile, die du berücksichtigen solltest.

Wenn du mehr über den gesamten Prozess erfahren möchtest, schaue dir das Video an: TrueNAS Installation und Konfiguration.


Mit dieser Anleitung bist du bestens gerüstet, um dein eigenes TrueNAS-System aufzubauen und die Vorteile zu nutzen, die es dir für dein Smart Home bietet. Viel Erfolg bei deiner Installation!

Shell Kommandos zur Installation von Home Assistant

sudo wget https://github.com/home-assistant/operating-system/releases/download/13.1/haos_ova-13.1.qcow2.xz  # Download des aktuellen HA Images ( bei euch ggf. eine andere Version ! )
sudo unxz haos_ova-13.1.qcow2.xz
sudo qemu-img convert -O raw haos_ova-13.1.qcow2 /dev/zvol/ZFS+Pool/homeassistant

Wichtiger Hinweise!

Im Video habe ich die Einblendung an dieser Stelle falsch gemacht. Das was in der Konsole angezeigt wird ist korrekt . Die Einblendung zeigt in meinem Setup aus dem Video den falschen Pfad an.

Offsite Backups der letzte Ausweg für dein Home Assistant oder Proxmox ( nur mit GUI ) ?

In diesem Video zeige ich euch, wie ihr die Hetzner Storage Box für Offsite Backups von Home Assistant einrichten könnt. Zusätzlich erkläre ich, wie ihr die Storage Box in Proxmox VE integrieren könnt, ohne dabei die Konsole nutzen zu müssen. So könnt ihr eure Backups und Speicherkapazitäten ganz einfach verwalten, auch wenn ihr keine tiefergehenden Linux-Kenntnisse habt.

Viel Spaß beim Anschauen! 😊

Ich möchte euch heute einen allgemeinen Amazon-Link teilen, über den ihr eine Vielzahl von Produkten entdecken könnt. Egal, ob ihr nach Smart Home-Geräten, Gadgets oder anderen nützlichen Artikeln sucht, Amazon hat für jeden etwas zu bieten.

Wenn ihr über diesen Link einkauft, unterstützt ihr meinen Kanal, ohne dass es für euch zusätzliche Kosten verursacht. Das hilft mir, weiterhin spannende Inhalte für euch zu erstellen!

Hier ist der Link zu Amazon: https://amzn.to/3KsGngK

Vielen Dank für eure Unterstützung!

Für die Home Assistant Auto Backup Erweiterung benötigt ihr HACS. Hier findest du eine Anleitung, wie du HACS installierst:

YouTube player

Weitere Links aus dem Video:

HACS Auto Backup Integration

Hetzner Storage Box

Proxmox Backup Server Installation auf Synology NAS: Schritt-für-Schritt-Anleitung für effiziente Datensicherung

Erfahre, wie du den Proxmox Backup Server auf deinem Synology NAS als virtuelle Maschine installierst. Diese Anleitung beinhaltet die Grundkonfiguration, zeigt die nahtlose Integration unter Proxmox VE und erklärt die effektive Nutzung der Prune Settings. Entdecke detaillierte Schritte für ein reibungsloses Backup und Restore.

Ergänzende Informationen:
Kompatibilität Synology NAS mit Virtual Machine Manager:

https://www.synology.com/de-de/dsm/packages/Virtualization

Hinweis: Der Virtual Machine Manager lässt sich nur nutzen, wenn der Speicher als Btrfs-Volume angelegt ist. Ext3 oder Ext4 wird nicht unterstützt.
https://kb.synology.com/de-de/DSM/help/Virtualization/storage?version=6

Synology Virtual Machine Manger spk Datei:
https://archive.synology.com/download/Package/Virtualization

Hier findest du eine Anleitung, wie du den Virtual Machine Manager installierst:

Prune Simulator: https://pbs.proxmox.com/docs/prune-simulator/
Proxmox Backup Server Download : https://www.proxmox.com/de/downloads

Home Assistant als virtuelle Maschine unter Proxmox 8.1 ( Komplett & Einfach) installieren

YouTube player

Home Assistant als virtuelle Maschine unter Proxmox 8.1 installieren ist schwierig ? Ist es nicht… Wie das mit einem Mini-PC in meinem Fall der Orbsmart AW-13 mit wenigen einfachen Schritten durchgeführt werden kann, zeigt dieses Video. Dabei werden die Installationsschritte für Proxmox 8.1, Installation einer Home Assistant VM, der Umgang mit mit einem EMMC Speicher als Hauptspeicher und auch das Thema Backup betrachtet.

Orbsmart AW-13 aus dem Video*:

Orbsmart AW-13 4K Mini-PC Pro Desktop PC | Computer | lüfterlos | lautlos (Intel N5100 CPU, 16GB RAM, 256GB int. Speicher, 2.5″ Festplattenschacht, HDMI 2.0)
  • Leistungsstarker & lüfterloser 4K Mini-PC auf Windows 11 Pro Basis inklusive 2.5″ Festplattenschacht – flexibel einsetzbar als stromsparender Büro-PC, Medienzentrale, Streaming-Client etc.
  • Vollwertiges Windows 11 Professional vorinstalliert / Auflösung bis zu 4K ULTRA HD (2160p@60Hz) möglich
  • Aktuelle Intel Chip-Generation „Jasper Lake“: Quad-Core CPU N5100 (Burst freq: 2.80 GHz) / 16GB DDR4-RAM / 256GB int. Speicher / Autostart-Funktion (direktes Hochfahren nach Stromzufuhr), WOL + PXE + RTC-Support
  • Dank HTML5 & Silverlight Support volle Kompatibilität zu allen IPTV Streaming Inhalte (Youtube, Netflix, Prime Video, Disney+, Skygo, Magenta TV & Co.) – Webrowsing wie an jedem Windows PC
  • Dualband WLAN-AC + Bluetooth 4.2 / HDMI 2.0, Displayport 1.2, VGA / Gigabit-LAN / 2x USB 3.1 (Gen1) + 1x USB 3.1 Typ-C (Gen1), 2x USB 2.0, 1x 3.5mm Audio / microSD-Slot (max. 512GB) / Kensington Lock / TV-Halterung (VESA 75×75 / 100×100) inklusive

Für mein Hauptsetup verwende ich diese Konfiguration *:

MINIS FORUM Venus UM790 Pro Mini-PC AMD Ryzen 9 7940HS, genau 5,2 GHz, 64 GB DDR5 1 bis SSD mit AMD Radeon 780M, 4X USB3.2, 2X USB4, 2X HDMI 2.1, 2X PCIe4.0, Wi-FI 6E /BT5.3, RJ45 2,5 G
  • 【Leistungsstarker Prozessor】 AMD Ryzen 9 7940HS, 8 Kerne/16 Threads (16 MB Cache, bis zu 5,2 GHz Taktfrequenz), gefertigt im 4-Nanometer-Prozess von TSMC, AMD Radeon 780M (Grafikfrequenz 2,8 GHz), ausgestattet mit AMD Ryzen AI-Technologie, die eine effiziente und energieeffiziente Unterstützung für verschiedene KI-Anwendungen bietet, ohne die Leistung von CPU und GPU zu beeinträchtigen.

Hier könnt ihr die Proxmox ISO herunterladen: Downloads (proxmox.com)

Hier findet ihr die Balena Etcher Software : balenaEtcher – Flash OS images to SD cards & USB drives

Zum Thema EMMC Speicher:

Es ist nicht zu empfehlen Proxmox auf einem EMMC Speicher zu installieren. Viele Schreibzugriffe können die Lebensdauer eines EMMC Speichers stark beeinträchtigen. Deshalb unterbindet die Proxmox Installation die Installation auf einem EMMC Speicher. Es gibt eine Möglichkeit das dennoch zu tun. Wie das funktioniert, wird im Video erklärt. Hier die dazugehörigen Befehle:

nano /usr/share/perl5/Proxmox/Sys/Block.pm

Im Editor muss dann die Funktion sub get_partition_dev angepasst werden. Geht dazu zu dieser Stelle der Datei Block.pm

 } elsif ($dev =~ m|^/dev/nvme\d+n\d+$|) {
     return "${dev}p$partnum";
 } else {
     die "unable to get device for partition $partnum on device $dev\n";
 }

Ändert diesen Teil, wie in der nächsten Abbildung gezeigt (Zeile 3+4 ergänzen! ).

 } elsif ($dev =~ m|^/dev/nvme\d+n\d+$|) {
     return "${dev}p$partnum";
 } elsif ($dev =~ m|^/dev/mmcblk\d+$|) {
     return "${dev}p$partnum";
 } else {
     die "unable to get device for partition $partnum on device $dev\n";
 }

Um Home Assistant als VM über ein Script einfach und schnell zu installieren, öffnet in eurem PVE-Node die Shell und gebt dort folgenden Befehl ein.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm.sh)"

Nachdem ihr diesen Befehl eingegeben habt, wird das Script heruntergeladen und ausgeführt. Es wird automatisch eine VM mit Home Assistant und allen nötigen Grundeinstellungen angelegt.

Proxmox Monitoring & Control mit Home Assistant

YouTube player
Hypervisor Monitoring ? Mit Home Assistant lässt sich komfortabel der Status von Proxmox Nodes , VMs und LXC Containern überwachen und sogar steuern. Eine VM fällt aus, kann mit der Hausautomatisierungslösung Home Assistant schnell eine Nachricht geschickt werden oder ein Prozess angestoßen werden um das betroffene System wieder automatisch zu starten. So lassen sich einfach die Zustände der angebundenen Speichergeräte, CPU und RAM Auslastung erfassen. Du fragst dich wie das funktioniert ? Dann schau dieses Video 🙂

Orbsmart AW-13 aus dem Video*:

Orbsmart AW-13 4K Mini-PC Pro Desktop PC | Computer | lüfterlos | lautlos (Intel N5100 CPU, 16GB RAM, 256GB int. Speicher, 2.5″ Festplattenschacht, HDMI 2.0)
  • Leistungsstarker & lüfterloser 4K Mini-PC auf Windows 11 Pro Basis inklusive 2.5″ Festplattenschacht – flexibel einsetzbar als stromsparender Büro-PC, Medienzentrale, Streaming-Client etc.
  • Vollwertiges Windows 11 Professional vorinstalliert / Auflösung bis zu 4K ULTRA HD (2160p@60Hz) möglich
  • Aktuelle Intel Chip-Generation „Jasper Lake“: Quad-Core CPU N5100 (Burst freq: 2.80 GHz) / 16GB DDR4-RAM / 256GB int. Speicher / Autostart-Funktion (direktes Hochfahren nach Stromzufuhr), WOL + PXE + RTC-Support
  • Dank HTML5 & Silverlight Support volle Kompatibilität zu allen IPTV Streaming Inhalte (Youtube, Netflix, Prime Video, Disney+, Skygo, Magenta TV & Co.) – Webrowsing wie an jedem Windows PC
  • Dualband WLAN-AC + Bluetooth 4.2 / HDMI 2.0, Displayport 1.2, VGA / Gigabit-LAN / 2x USB 3.1 (Gen1) + 1x USB 3.1 Typ-C (Gen1), 2x USB 2.0, 1x 3.5mm Audio / microSD-Slot (max. 512GB) / Kensington Lock / TV-Halterung (VESA 75×75 / 100×100) inklusive

Für mein Hauptsetup verwende ich diese Konfiguration *:

MINIS FORUM Venus UM790 Pro Mini-PC AMD Ryzen 9 7940HS, genau 5,2 GHz, 64 GB DDR5 1 bis SSD mit AMD Radeon 780M, 4X USB3.2, 2X USB4, 2X HDMI 2.1, 2X PCIe4.0, Wi-FI 6E /BT5.3, RJ45 2,5 G
  • 【Leistungsstarker Prozessor】 AMD Ryzen 9 7940HS, 8 Kerne/16 Threads (16 MB Cache, bis zu 5,2 GHz Taktfrequenz), gefertigt im 4-Nanometer-Prozess von TSMC, AMD Radeon 780M (Grafikfrequenz 2,8 GHz), ausgestattet mit AMD Ryzen AI-Technologie, die eine effiziente und energieeffiziente Unterstützung für verschiedene KI-Anwendungen bietet, ohne die Leistung von CPU und GPU zu beeinträchtigen.

Befehl zu Installation von HACS im Terminal:

wget -O - https://get.hacs.xyz | bash -

Proxmox VE Custom Integration für Home Assistant: https://github.com/dougiteixeira/proxmoxve

Helfer Proxmox Smarthome VMs (Templatesensor)

{{ expand('binary_sensor.proxmox_smarthome_vms') | selectattr('state', 'eq' , 'off') | list | count }}

Automatisierung Proxmox Smarthome VM ausgefallen:

alias: Proxmox Smarthome VM ausgefallen
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.zahler_vms_proxmox
    above: 0
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - service: notify.persistent_notification
    data:
      title: Proxmox Smarthome VM ausgefallen
      message: >-
        {{ expand('binary_sensor.proxmox_smarthome_vms') | selectattr('state',
        'eq', 'off')  | map(attribute='name')  | list  | join (', 

        ') }}
  - service: button.press
    data: {}
    target:
      entity_id: button.qemu_win11vm_106_starten
mode: single