-
Notifications
You must be signed in to change notification settings - Fork 7
Docker Setup
- Docker und docker-compose installieren
- fewohbee-dockerized
- Pensionsverwaltung initialisieren
- Updates
- Datenbank Backups
Mit fewohbee-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.
Im folgenden wird exemplarisch gezeigt, wie Docker und docker-compose unter Debian 12 (bookworm) 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 git
-
Dockers GPG Schlüssel hinzufügen
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
Dockers repository für die aktuelle Architektur (z.b arm64) hinzufügen
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
Docker und docker compose plugin installieren
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io apparmor docker-compose-plugin
-
In das Zielverzeichnis wechseln (empfohlen
/opt/
) und docker-compose setup herunterladencd /opt git clone https://github.com/developeregrem/fewohbee-dockerized.git cd fewohbee-dockerized
Falls noch nicht vorhanden, muss git installiert werden:
apt install git
-
Installation auf einem Server ohne öffentliche IPv4 Adresse
git clone schlägt fehl, wenn man den obigen Befehl auf einem Server ohne eigene IPv4 Adresse (also IPv6 only) versucht aufzurufen. Grund ist der fehlende IPv6 Support von Github! Siehe auch die Diskussion hier fehlender IPv6 Support
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
sudo ./install.sh
Zur Konfiguration der E-Mail Funktion siehe: Wiki -> E-Mail
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 fewohbee-dockerized (
/opt/fewohbee-dockerized/
) die Anwendung stopendocker 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
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)
(nicht notwendig, wenn das Script install.sh
verwendet wurde)
-
mittels
docker compose exec --user www-data php /bin/sh -c "php fewohbee/bin/console app:first-run"
-
Zuletzt mit einem Webbrowser auf die Anwendung zugreifen (hier im Beispiel mit)
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.
In dem Ordner fewohbee-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.
In dem Ordner fewohbee-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.
Die in ../dbbackup
abgelegten Backups können wie folgt wieder eingespielt werden:
cd /opt/fewohbee-dockerized
# enter database container
docker compose exec db /bin/sh
cd /dbbackup
# look for the file you want to restore and untar it to get the sql file
ls -l
tar -xf <file>.tar.gz
# restore backup
mariadb -p$MYSQL_ROOT_PASSWORD -u root fewohbee < <file>.sql
# use Strg+D to exit the container at the end
- Über die Anwendung
- Funktionen
- Impressionen / Bilder
- Installation
- Verwendung
- Für Entwickler
- Technologie Stack