Skip to content

kraeml/DOITPi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOITPi

Dev
Ops
IoT
RaspberryPi

DOITPi ist eine DevOps-IoT-Toolsammlung auf Basis von Raspberry Pi OS Lite. Gebaut wird DOITPi mit Hilfe von CustomPiOS.

  • Codeserver
    Führt VS Code auf dem Raspberry aus. Editiert wird über den Browser.

  • Ansible
    Ansible konfiguriert Systeme, stellt Software bereit. Somit sind fortschrittliche IT-Aufgaben, wie kontinuierliche Bereitstellungen oder rollierende Updates, ohne Ausfallzeiten möglich.

  • testinfra
    Mit Testinfra werden Unit-Tests in Python geschrieben, um den aktuellen Zustand eines Server zu testen, die mit Management-Tools wie Salt, Ansible, Puppet, Chef usw. konfiguriert wurden.

  • LXC

  • Docker

    • IOTstack
      IOTstack erstellt docker-compose Dateien, zur einfachen Erstellung und Wartung von IoT-Stacks auf dem Raspberry Pi.
      Folgendes kann u.U. eingerichtet werden:

      • Node-Red
        Node-RED ist ein Programmierwerkzeug, mit dem sich Hardwaregeräte, APIs und Online-Dienste auf neue und interessante Weise miteinander verbinden lassen.

      • Heimdall
        Heimdall Application Dashboard ist ein Dashboard für Webanwendungen. Es es nicht auf Anwendungen beschränkt, es können auch Weblinks zu allem hinzugefügt werden.

      • Eclipse Mosquitto
        Eclipse Mosquitto ist ein quelloffener Message Broker, der die MQTT-Protokollversionen 5.0, 3.1.1 und 3.1 implementiert. Mosquitto ist leichtgewichtig und eignet sich für den Einsatz auf allen Geräten, von stromsparenden Einplatinencomputern bis hin zu kompletten Servern.

      • Monitoring mit Telegraf, InfluxDB und Grafana

      • ESP Home
        ESPHome ist ein System, mit dem ESP8266/ESP32 durch einfache, aber leistungsfähige Konfigurationsdateien (YAML) steuern und über Home Automation Systeme fernsteuern können.

      • Und vieles mehr

  • Cockpit
    Cockpit ist eine webbasierte grafische Oberfläche für Server.

  • autohotspot
    Das Skript richtet automatisch einen Hotspot ein, wenn kein WLAN gefunden wird.

  • PiGPIO Dienste

  • MCU Development

    • platformio
  • Python

    • Jupyter Lab
      JupyterLab ist eine webbasierte interaktive Entwicklungsumgebung für Notebooks, Code und Daten. Die flexible Benutzeroberfläche ermöglicht es Benutzern, Arbeitsabläufe in den Bereichen Datenwissenschaft, wissenschaftliches Rechnen, Computerjournalismus und maschinelles Lernen zu konfigurieren und zu gestalten. Ein modulares Design lädt zu Erweiterungen ein, um die Funktionalität zu erweitern und zu bereichern.

    • virtualenv

  • Golang

  • Prometheus und Grafana Diese werden nicht als Dienst eingerichtet.

  • ...

Unter DOITPI Releas latest findet man das neuste Image.

Wegen Abhängigkeiten von docker kann z.Zt. nur eine arm64 Version erstellt werden.

Mitentwickeln?

JAA

Anforderungen

  • qemu-arm-static
  • CustomPiOS
  • Heruntergeladenes Raspbian-Image.
  • root-Rechte für chroot
  • Bash
  • git
  • sudo
    (das Skript selbst ruft es auf. Als root, ohne sudo, wird nicht funktionieren)

DOITPi in Raspbian/Debian/Ubuntu aus bauen

DOITPi kann in Debian, Ubuntu, Raspbian oder sogar in DOITPi aus gebaut werden. Die Erstellung erfordert etwa 2,5 GB freien Speicherplatz. Mit den folgenden Befehlen kann DOITPI gebaut werden:

sudo apt-get install gawk util-linux qemu-user-static git p7zip-full python3 coreutils

git clone https://github.com/guysoft/CustomPiOS.git
git clone https://github.com/kraeml/DOITPi.git
cd DOITPi/src/image
wget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_lite_armhf_latest'
cd ../image-raspios_lite_arm64
wget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_lite_arm64_latest'
cd ..
../../CustomPiOS/src/update-custompios-paths
sudo modprobe loop
sudo make build_arm64

Code-Beiträge sind erwünscht!

ToDo Bauen mit Vagrant

Es gibt eine Vagrant-Maschinenkonfiguration, mit der DOITPi gebaut werden kann. Wenn Sie keine zusätzliche Konfiguration vornehmen, muss vagrant als root laufen, damit nfs folder sync funktioniert.

Vergewissern Sie sich, dass Sie eine Version von vagrant haben, die neuer als 1.9 ist! Wenn Sie ältere Versionen von Ubuntu/Debian verwenden und nicht apt-get von der Download-Seite verwenden.

Um vagrant auf Ubuntu zu benutzen:

sudo apt-get install vagrant nfs-kernel-server virtualbox
sudo vagrant plugin install vagrant-nfs_guest
sudo modprobe nfs
cd ../DOITPi
git clone https://github.com/guysoft/CustomPiOS.git
cd DOITPi/src
../../CustomPiOS/src/update-custompios-paths
cd DOITPi/src/vagrant
sudo vagrant up
run_vagrant_build.sh

Nach der Bereitstellung des Vagrant-Rechners ist es auch möglich, einen nächtlichen Build auszuführen, der Updates von devel verwendet:

cd DOITPi/src/vagrant
run_vagrant_build.sh

Um eine Variante auf der Maschine zu bauen, führen Sie einfach aus:

cd src/vagrant
run_vagrant_build.sh [Variante]