Skip to content

Docker Setup

developeregrem edited this page Mar 25, 2020 · 27 revisions

Inhaltsübersicht

Mit pve-dockerized steht ein vorkunfiguriertes docker-compose setup bereit, was alles beinhaltet, um die Pensionsverwaltung in der aktuell stabilen Version laufen zu lassen. Dies beinhaltet einen Webserver, Datenbankserver, PHP und das Tool selbst.

Auf dieser seite wird beschrieben, wie die Pensionsverwaltung mithilfe von Docker und docker-compose verwendet werden kann.

Docker und docker-compose installieren

Im folgenden wird exemplarisch gezeigt, wie Docker und docker-compose unter Debian 10 (buster) auf einem Odroid C2 (arm64) installiert werden. Für andere Plattformen bitte die Docker Dokumentation konsultieren.

  • Sicherstellen, dass alle Abhängigkeiten verfügbar sind

    sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

  • Dockers GPG Schlüssel hinzufügen

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

  • Dockers repository für die arm64 Architektur hinzufügen

    sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

  • Docker installieren

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    
  • docker-compose installieren

    sudo apt install python3-pip python3-dev libffi-dev libssl-dev
    pip3 install setuptools wheel
    pip3 install docker-compose
    

pve-dockerized

Installation

  • In das Zielverzeichnis wechseln (empfohlen /opt/) und docker-compose setup herunterladen

    cd /opt
    git clone https://github.com/developeregrem/pve-dockerized.git
    cd pve-dockerized
    

    Falls noch nicht vorhanden, muss git installiert werden: apt install git

Konfiguration

Zur Unterstützung der Konfiguration erledigt das Script install.sh alle wichtigen Schritte automatisiert. Das Script leitet den Nutzer durch die restlichen Schritte:

chmod +x install.sh
./install.sh

Zur Konfiguration der E-Mail Funktion siehe: Wiki -> E-Mail

Anwendung manuell starten/stopen

Das Script install.sh startet die Anwendung automatisch. Möchte man Konfigurationsänderungen der Datei .env vornehmen, muss man die Anwendung anschließend neu starten.

  • im Ordner von pve-dockerized (/opt/pve-dockerized/) die Anwendung stopen

    docker-compose stop

  • Anschließend wieder starten

    docker-compose up -d

    mit -d wird auch sichergestellt, dass die Anwendung bei einem Neustart des Betriebssystems automatisch mitgestartet wird.

  • prüfen, ob alle Dienste laufen

    docker ps

    Die Ausgabe sollte ähnlich der im Bild sein. Unter Status müssen alle als "Up" gelistet sein

    docker ps

    Falls einer der Dienste nicht korrekt gestartet ist kann man z.B. mittels docker-compose logs web auf Logs des Containers zugreifen und sehen wo das Problem liegt. (gültige Containernamen hierbei sind: web, php, db, acme, redis)

Pensionsverwaltung manuell initialisieren

(nicht notwendig, wenn das Script install.shverwendet wurde)

  • mittels

    docker-compose exec --user www-data php /bin/sh -c "php pve/bin/console app:first-run"

  • Zuletzt mit einem Webbrowser auf die Anwendung zugreifen (hier im Beispiel mit)

    https://pve

    Wenn in der .env Datei SELF_SIGNED=true gewählt wurde, wird beim ersten Besuch eine Sicherheitswarnung des Browsers angezeigt. Diese muss akzeptiert werden, anschließend gelangt man zum Login.

  • Um die Anwendung zu nutzen, bitte die Anleitung Erste Schritte beachten.

Updates

In dem Ordner pve-dockerized existiert ein Script, mit dem die Anwendung vollautomatisch aktualisiert werden kann. Hierfür die folgenden Befehle ausführen:

chmod +x update-docker.sh
./update-docker.sh

Der letzte Befehl aktualisiert alle eingesetzten Images und lädt die neueste (stabile) Version der Pensionsverwaltung herunter.

Datenbank Backups

In dem Ordner pve-dockerized existiert ein Script, mit dem eine vollautomatische Sicherung der Datenbank angelegt werden kann.

  chmod +x backup-db.sh
  ./backup-db.sh

Die Datanbank-Backups sind im Ordner ../dbbackup zu finden.