-
Notifications
You must be signed in to change notification settings - Fork 13
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 13 (Trixie) 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 git -
Dockers GPG Schlüssel hinzufügen
install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc -
Dockers repository für die aktuelle Architektur (z.b arm64) hinzufügen
tee /etc/apt/sources.list.d/docker.sources <<EOF Types: deb URIs: https://download.docker.com/linux/debian Suites: $(. /etc/os-release && echo "$VERSION_CODENAME") Components: stable Signed-By: /etc/apt/keyrings/docker.asc EOF -
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-dockerizedFalls 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
Zusätzliche Konfigurationsmöglichkeiten (wie z.B. E-Mail Funktion oder Passkey-Login) siehe: Wiki -> Konfiguration
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 -dmit
-dwird auch sichergestellt, dass die Anwendung bei einem Neustart des Betriebssystems automatisch mitgestartet wird. -
prüfen, ob alle Dienste laufen
docker psDie 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 webauf 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.shverwendet 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
../dbbackupzu 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$MARIADB_ROOT_PASSWORD -u root fewohbee < <file>.sql
# use Strg+D to exit the container at the end