Ein Mini-Tutorial zum Installieren von DietPi auf einem Raspberry Pi, weitere Infos finden Sie auf deren Website > https://dietpi.com
Warum diese Wahl? Es ist eine leichtere Version als das Raspberry Lite-Bild, aber viel funktionaler (Update und Tools
) und es lässt sich auch auf einem Mini-PC installieren, der Vorgang ist etwas anders, aber gut genug erklärt, also kein Tutorial dazu
Ein weiterer Vorteil ist, dass man eine GUI-Schnittstelle installieren kann, wenn nötig, oder mit einem Server nur über die CLI weitermachen
https://dietpi.com/docs/install/#how-to-install-dietpi-native-pc
(zu wissen ist, dass es möglich ist, DietPi auf jedem Debian-System zu installieren, indem man diesen Befehl in ssh ausführt
sudo bash -c "$(curl -sSfL 'https://raw.githubusercontent.com/MichaIng/DietPi/master/.build/images/dietpi-installer')" Achtung, man muss Backups der vorhandenen Daten oder der zu erhaltenden Daten machen, da es die Zielverteilung durch Entfernen vieler unnötiger Pakete aufräumt)
Zuerst laden wir das Image herunter, indem wir zum Abschnitt gehen
Wir wählen
dann laden wir das Image herunter
wir entpacken das Archiv DietPi_RPi-ARMv8-Bookworm.img.xz zu DietPi_RPi-ARMv8-Bookworm.img
Wir starten Raspberry Pi Imager, für die Auswahl des Images wählen wir „use custom“
et wir wählen das Image
dann den Speicher
et wir starten die Installation
wir geben die Login-Daten root und das Passwort dietpi ein (> How to install DietPi - DietPi.com Docs)
et wir landen beim ersten Kontakt mit der Oberfläche… Sympathisch, oder?
Durch das Starten von dietpi-launcher erhält man Zugang zu allen in der Distribution angebotenen Tools
wir beginnen mit einem Update
Wir gehen zu Dietpi-Software
In diesem Stadium kann man sich mit DietPi-Dashboard begnügen, da man dort die Installation der Software auf eine benutzerfreundlichere Weise findet, aber man kann die Mindestanzahl an Software installieren (für 63 LinuxDash habe ich Lighttpd gewählt) wie Node-red, I2C und Python (um die IO des Raspberry Pi zu steuern
Bestätigen Sie die Auswahl der zu installierenden Software
Die zu installierende Software
[*] 72 I2C: ermöglicht die Unterstützung für I2C-basierte Hardware
[] 200 DietPi-Dashboard: Offizielle leichte DietPi-Weboberfläche (Rust)
ou/et
[] 63 LinuxDash: Weboberfläche Systemstatistiken
[] 81 LLSP: Lighttpd + SQLite + PHP
[] 122 Nodee-RED: Tool zum Verdrahten von Geräten, APIs und Online-Diensten
[] 122 Docker
Ich bevorzuge die Verwendung dieses Tools anstelle der Gladys-Integration, da die Flows in einem gemeinsamen Mount-Point für die installierten Software gesichert werden können und leicht gesichert werden können
[*] 73 Fail2Ban: verhindert Brute-Force-Angriffe mit IP-Bann
- Fail2Ban begrenzt die Anzahl der Einbruchsversuche. Sie können die Parameter in SSH ändern, indem Sie die folgende Datei mit dem Befehl bearbeiten:
sudo nano /etc/fail2ban/jail.conf
Wenn Sie in SSH einen Dateimanager verwenden möchten
[*] 3 MC: Midnight Commander - ein leistungsfähiger Dateimanager
Und installieren Sie sie!
Um die Netzwerkkartenadresse zu ändern, starten Sie einfach dietpi-config
Um den SSH-Server (standardmäßig Dropbear) zu OpenSSH zu ändern (er integriert einen SFTP-Server, was die sichere Verbindung über Filezilla zum Inhalt des NRX800 ermöglicht!), führen Sie die folgenden Aktionen aus:
Das Dietpi-Dashboard ist wirklich gut gemacht!
Die Dokumentation finden Sie hier
Das Linux-Dash von Dietpi
Ein vollständiges HTML-Dashboard, das unter Node-red mit dem Dashboard-Node erstellt wurde, um meine Smart-Home-Systeme zu steuern und alle meine Links an einem Ort zu haben, hier Gladys
Ein vollständiges HTML-Dashboard, das unter Node-red mit dem Node ui_builder erstellt wurde
Steuerung der Relais meines IPX800V5 über die API mit einer Echtzeit-Aktualisierung des Relaisstatus (hier alle 500 ms, aber es könnte weniger sein
)
Zusammenfassend eine super Distribution, um ein einheitliches System auf Raspberry Pi und Mini-PC und sogar in einer VM (vmware, proxmox usw.) zu haben
Für die Installation von Gladys reicht es, die üblichen Tutorials zu befolgen
@pierre-gilles Du entscheidest, ob dies nicht das ideale System ist, da es plattformübergreifend ist und monatliche Updates für die Bereitstellung von Gladys auf diesem Mini-PC-Angebot bietet, das du jetzt als Kit anbietest (schöne Initiative). Vielleicht sollten sie kontaktiert werden, um Gladys in den Smart-Home-Bereich zu integrieren (sie bieten OpenHab, Domoticz, HA an)
Hinzufügen vom 17/09/2024
Um Gladys anschließend auf der DietPi-Distribution (derzeit eine Debian Bookworm) zu installieren, reicht es aus, den Inhalt per SSH in eine Datei zu kopieren, die mit nano bearbeitet und « create_and_run_gladys_watchtower.bat » genannt wird, und sie dann auszuführen. Es ist möglich, die Installation von fail2ban und node-red hinzuzufügen, aber das ist nicht notwendig, da sie mit dietpi-software installierbar sind
create_and_run_gladys_watchtower.bat
@echo off
echo Erstellung des Skripts install_gladys_watchtower.sh…
(
echo # Anfang des Bash-Code-Teils
echo #!/bin/bash
echo.
echo # Überprüfen, ob Docker installiert ist
echo if ! [ -x « $(command -v docker) » ]; then
echo ^ echo « Docker ist nicht installiert. Installation von Docker… »
echo ^ curl -fsSL https://get.docker.com -o get-docker.sh
echo ^ sh get-docker.sh
echo ^ rm get-docker.sh
echo fi
echo.
echo # Erstellen der Docker-Gruppe, falls sie nicht existiert
echo if ! grep -q « ^docker: » /etc/group; then
echo ^ sudo groupadd docker
echo fi
echo.
echo # Hinzufügen des Benutzers ‹ user › zur Docker-Gruppe
echo sudo usermod -aG docker user
echo.
echo # Starten des Docker-Containers für Gladys Assistant
echo docker run -d ^
–log-driver json-file ^
–log-opt max-size=10m ^
–cgroupns=host ^
–restart=always ^
–privileged ^
–network=host ^
–name gladys ^
-e NODE_ENV=production ^
-e SERVER_PORT=80 ^
-e TZ=Europe/Paris ^
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db ^
-v /var/run/docker.sock:/var/run/docker.sock ^
-v /var/lib/gladysassistant:/var/lib/gladysassistant ^
-v /dev:/dev ^
-v /run/udev:/run/udev:ro ^
gladysassistant/gladys:v4
echo.
echo # Starten des Docker-Containers für Watchtower
echo docker run -d ^
–name watchtower ^
–restart=always ^
-v /var/run/docker.sock:/var/run/docker.sock ^
containrrr/watchtower ^
–cleanup --include-restarting
echo # Ende des Bash-Code-Teils
) > install_gladys_watchtower.sh
echo Berechtigungen zum Ausführen des Skripts erteilen…
bash -c « chmod +x install_gladys_watchtower.sh »
echo Ausführen des Skripts install_gladys_watchtower.sh…
bash -c « ./install_gladys_watchtower.sh »
pause
Um fail2ban zu installieren, reicht es aus, den folgenden Code in das vorherige Skript vor der Zeile echo # Ende des Bash-Code-Teils hinzuzufügen
Installation fail2ban
Überprüfen, ob Fail2ban bereits installiert ist
if ! [ -x « $(command -v fail2ban-server) » ]; then
echo « Fail2ban ist nicht installiert. Installation von Fail2ban… »
# Pakete aktualisieren
sudo apt update
# Fail2ban installieren
sudo apt install -y fail2ban
echo "Installation von Fail2ban abgeschlossen."
else
echo « Fail2ban ist bereits installiert. »
fi
Erstellen der lokalen Konfigurationsdatei, falls erforderlich
if [ ! -f /etc/fail2ban/jail.local ]; then
echo « Erstellung der Konfigurationsdatei /etc/fail2ban/jail.local… »
sudo tee /etc/fail2ban/jail.local > /dev/null <<EOL
[DEFAULT]
Ban für 10 Minuten (600 Sekunden)
bantime = 600
Zeit, bevor eine neue Anmeldeversuch nach einem fehlgeschlagenen Anmeldeversuch erlaubt wird
findtime = 600
Anzahl der Versuche, bevor ein Ban verhängt wird
maxretry = 5
[sshd]
enabled = true
EOL
echo "Standardkonfiguration erstellt."
fi
Fail2ban neu starten, um die Änderungen zu übernehmen
echo « Neustart des Fail2ban-Dienstes… »
sudo systemctl restart fail2ban
Fail2ban aktivieren, damit es beim Startup gestartet wird
echo « Aktivierung des Fail2ban-Dienstes beim Startup… »
sudo systemctl enable fail2ban
echo « Fail2ban wurde erfolgreich installiert und konfiguriert. »
Um Node-RED zu installieren, reicht es aus, den folgenden Code in das vorherige Skript vor der Zeile echo # Ende des Bash-Code-Teils hinzuzufügen
Installation node-red
echo # Starten des Node-RED-Containers
docker run -d
–log-opt max-size=10m
–restart=always
–privileged
-u root
–network=host
–name node_red
-v /var/lib/node-red:/data
nodered/node-red


























