Raspberry Docker Setup

Page content

Hier meine Vorgehensweise, um einen Raspberry Pi Model 3B Plus vorzubereiten.

Diese Anleitung ist WIP (Work in Progress) und wird immer mal wieder geupdated und ergänzt.

Das Ganze ist mehr eine Dokumentation für mich selbst und idealerweise eine Anregung für den einen oder anderen. Wobei es im Internet keinerlei Mangel an ähnlichen Anleitungen gibt.

Ziel

  • Ein schlankes Image mit sinnvollen Erweiterungen und mit Docker, um flexibel Applikationen als Container einbinden zu können.
  • Schreibzugriffe auf die SD Karte sollen so weit wie möglich reduziert werden, da deren Lebensdauer darunter leidet.
  • Daten sollen, soweit möglich und sinnvoll, auf einen angeschlossenen USB Stick abgelegt werden.

Raspbian

Basis für meine Grundinstallation ist Raspbian Buster Lite.

Folgende Einstellungen sollen vorgenommen werden:

  • Schreibzugriffe auf SD Karte minimieren (Logfiles /var/log ausschalten)
  • weitere Schreibzugriffe auf SD Karte minimieren
  • SSH Zugriff erlauben

Native Software

Folgende Programme sollen nativ ergänzt werden:

  • Midnight Commander
  • USB Mount
  • Git
  • Docker
  • Docker-Composer
  • IOTstack (von gcgarner)

Von diesem Stand ist ein Image zu erstellen (als Basis für neue Rasberry Pi Installationen)

Docker

Dockerfiles installieren:

  • InfluxDB
  • Grafana
  • Node Red
  • Portainer
  • MotionEye

Settings:

  • individuellen Hostnamen vergeben (für einfachen Zugriff per hostname.local)
  • SSL Zertifikate für Zugriff auf Dockerapplikationen installieren
  • Umleitung der Datenspeicherung der Dockercontainer auf externen USB Stick (um Schreibzugriffe auf SD Karte zu minimieren).

Schritt für Schritt Anleitung

  1. Raspbian Buster Lite herunterladen:

    https://www.raspberrypi.org/downloads/raspbian/
  2. MicroSD Karte mit “SD Card Formatter” formatieren:

    https://www.sdcard.org/downloads/formatter_4/
  3. Das Raspbian Buster Lite Image mit “Win32DiskImager” auf eine SD Karte schreiben.

  4. USB Stick formatieren (FAT32)

  5. Raspbian aktualisieren bash

    sudo apt-get update

    sudo apt-get upgrade

  6. USB Mount installieren

    sudo apt-get install usbmount
  7. USB Mount anpassen

Unter Stretch: in /lib/systemd/system/systemd-udevd.service MountFlags=slave ändern zu MountFlags=shared

Unter Buster: in /lib/systemd/system/systemd-udevd.service PrivateMounts=yes ändern zu PrivateMounts=no

Datenspeicherung auf SD Karte minimieren

Temporäre Dateien von /var/tmp abschalten

sudo nano /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service

[Service]

PrivateTmp=no

… todo Dockerinstallation

Mosquito Broker über Avahi bekannt machen

”’ sudo nano /etc/avahi/services/mqtt.service “’

”’ <?xml version=“1.0” standalone=‘no’?> <!DOCTYPE service-group SYSTEM “avahi-service.dtd”> MQTT on %h _mqtt._tcp 1883 ”’

”’ sudo service avahi-daemon reload “’

to be continued ….