Docker
Auf dieser Seite
Wie du die PureLife Cloud mit Docker nutzt.
Es besteht die Möglichkeit, die PureLife Cloud über Docker zu betreiben. Hierfür verteilen wir ein Image über Github Packages sowie eine vollständige Umgebung, welche über ein Github Repository verteilt wird.
Der Zugriff auf das Image und das Repository wird über eine GitHub-Organisation verwaltet. Um Zugriff auf die Organisation zu erhalten, muss ein Konto (ein eigener Benutzer oder eine eigene Organisation) bei GitHub erstellt werden. Nachdem uns der Name des GitHub-Kontos mitgeteilt wurde, wird es als Mitglied zu der Organisation hinzugefügt. Ebenfalls muss über das Docker-CLI eine Anmeldung bei der GitHub-Docker-Registry erfolgen, um Docker das pulling
des Images zu ermöglichen.
Nachdem diese Schritte abgeschlossen sind, kann auf das Repository zugegriffen werden. Das Repository enthält dabei eine docker-compose
-Datei und mehrere Konfigurationsdateien für einen Multi-Container Set-up.
Der Set-up startet dabei die folgenden Services:
- Das Datenbankmanagementsystem
PostgreSQL
- Den MQTT-Broker
Mosquitto
- Den PureLife Cloud Service
Für die Anpassung der einzelnen Komponenten (Datenbank, Mosquitto) an die eigenen Anforderungen ist der Nutzer hierbei selbst zuständig.
Diese Anleitung beschreibt die Installation unter einem Linux-System. Sie sollte sich jedoch einfach auf andere Systeme adaptieren lassen.
Vorbereitung
Bevor du mit der Installation beginnst, solltest du sicherstellen, dass die folgenden Komponenten vorhanden sind:
- Ein Github-Account
- Ein aktiver Docker-Login an der Github Container registry
docker
≥ 20.10
docker-compose
≥ 2.2.0
- Zugriff auf das PureSec
purelife-cloud-docker
-Repository
Installation
Kopiere oder Klone zuerst den Inhalt des Repositories und wechsel in den Ordner.
Erstelle die folgenden Ordner:
volumes/application/config
- Volume für die Konfiguration der PureLife Cloud Instanzvolumes/application/logs
- Volume für die Logs der PureLife Cloud Instanzvolumes/application/data
- Volume für Upload und generierte Dateien der PureLife Cloud Instanzvolumes/mosquitto
- Volume für die Mosquitto gespeicherten Datenvolumes/postgres
- Volumen für die von PostgreSQL gespeicherten Daten
Erstelle die folgenden Dateien:
volumes/mosquitto/passwd
- Sammlung von optionalen Benutzern und Passwörtern für den MQTT-Brokervolumes/mosquitto/acl
- Sammlung von Berechtigungen für Benutzer
Erlaube der UID 3000 den Zugriff auf das PureLife Cloud Verzeichnis.
Erstelle eine .env
-Datei, indem du die Datei env.example
kopierst und mit deinem bevorzugten Texteditor bearbeitest.
Stelle sicher, dass du in der .env
-Datei mindestens den folgenden Wert änderst. Wenn du die Passwörter für den Postgres-Benutzer ändern willst, kannst du dies auch in der .env
-Datei tun.
Erstellen und speichere die MQTT Zugangsdaten für die PureLife Cloud Instanz. Die erstellten Zugangsdaten müssen in der .env
-Datei unter WE_MQTT_USERNAME
und WE_MQTT_PASSWORD
hinterlegt werden.
Starte docker-compose
als Daemon.
Probiere es aus
Nun, da die PureLife Cloud Instanz eingerichtet ist und läuft, kannst du die Konfiguration anpassen oder dich einloggen. Öffne hierzu die URL http://127.0.0.1:8080 und melde dich mit den Benutzernamen admin
und dem Passwort admin
ein.
Genutzte Ports
- Mosquitto nutzt standardmäßig Port
1883
- Die Instanz startet einen Webserver welcher Standardmäßig Port
8080
nutzt
Cloud CLI nutzen
Die PureLife Cloud verfügt über ein Command Line Interface (CLI) mit nützlichen Hilfsbefehlen. Um das CLI unter Docker zu nutzen, starte den Container und öffne dessen Shell.
Du findest die ausführbare PureLife Cloud Datei unter /application