In der Datei docker-compose.yaml
unter services -> moodle -> args -> MOODLE_VERSION
.
Die verfügbaren Moodle Versionen können aus den Tags des Bitnami - Moodle Images entnommen werden. Bitnami Moodle Tags
Die unterstützen Moodle Versionen sind in der Readme des local_adler
Plugins dokumentiert.
Local Adler Plugin
Standardmäßig ist Version 4.2 eingestellt.
Wird in der Datei docker-compose.yaml
unter services -> moodle -> args -> PLUGIN_VERSION
gesetzt.
Standardmäßig wird der aktuelle main-Stand beider Plugins verwendet. Dies kann auf eine spezifische Version geändert werden. Siehe:
Beispiel: PLUGIN_VERSION: main, 1.0.0, 1.0 oder 1
(das "v" muss weggelassen werden)
Es kann auch nur beispielsweise 1.0 angegeben werden. Dann wird die aktuellste Version mit dem Tag 1.0.x verwendet. Ebenso für "1".
Wird in der Datei docker-compose.yaml
unter services -> backend -> image
gesetzt.
Standardmäßig wird der aktuelle main-Stand verwendet: image: ghcr.io/projektadler/adlerbackend:main
Hinter dem Doppelpunkt wird der jeweilige Tag angegeben. Diese können dem Container Registry des Backend Repositories entnommen werden:
Wird in der Datei docker-compose.yaml
unter services -> frontend -> image
gesetzt.
Standardmäßig wird der aktuelle latest-Stand verwendet: image: ghcr.io/projektadler/2d_3d_adler:latest
Hinter dem Doppelpunkt wird der jeweilige Tag angegeben. Diese können dem Container Registry des Frontend Repositories entnommen werden:
Folgende User werden automatisch erstellt:
- Username: admin
- Password: pass
- Username: manager
- Password: Manager1234!1234
- Username: student
- Password: Student1234!1234
- URL MOODLE:
localhost:8085
- URL BACKEND:
localhost:8086
- URL Frontend:
localhost:8087
- URL phpMyAdmin:
localhost:8088
Dementsprechend ist die eigentliche API des Backends unter http://localhost:8086/api
erreichbar. Diese Adresse wird dann auch im AMG verwendet.
Um die Lokale Umgebung unter einer anderen URL (und somit auch von einem anderen Gerät im selben Netzwerk) zu erreichen , muss die Datei .env
angepasst werden. Dafür in Zeile 11 die Variable _DOMAIN
mit der eigenen IP ersetzen.
⚠️ Wenn die lokale IP ohne weiteres gesetzt wird, funktioniert das zwar, man kann aber davon ausgehen, dass sich die lokale IP ändert. Dann muss die.env
Datei erneut angepasst werden.
- Repo klonen
- Terminal im Ordner öffnen (Unter Windows Shift + Rechtsklick -> "Terminal öffnen") Sollte bereits eine Instanz laufen, nicht vergessen, vorher die Umgebung zu stoppen.
docker compose pull
ausführen.docker compose up -d --build
ausführen
- Terminal im Ordner öffnen (Unter Windows Shift + Rechtsklick -> "Terminal öffnen")
docker compose down
ausführen (oderdocker compose down -v
um auch alle Daten zu löschen (Werkszustand))
Die laufenden Container können in Docker Desktop eingesehen werden. Dort kann auch der Status der Container angezeigt werden. Außerdem kann man sich über diese Oberfläche auch in die Container mit einem Terminal verbinden.
Moodle erfordert Docker internen (Backend) und externen (Docker-Host) Zugriff über denselben Hostnamen. Es gibt einige Möglichkeiten, dies zu erreichen:
host.docker.internal
: Sollte theoretisch funktionieren, da dieser Hostname auf dem Docker-Host und innerhalb der Docker-Container verfügbar ist. Wenn er innerhalb eines Containers nicht verfügbar ist (was aus verschiedenen Gründen manchmal vorkommen kann), kann er überextra_hosts: host.docker.internal:host-gateway
gesetzt werden. Nach einiger Zeit funktionierte dies auf meinem System und Test-VM nicht mehr (Eintrag im Hostsystem hatte die falsche IP).localhost
: Der aktuelle Ansatz, der derzeit gut zu funktionieren scheint. Aus irgendeinem Grund scheint es gut zu funktionieren, localhost auf zwei verschiedene IPs in der Hosts-Datei des Backend-Containers zu setzen (siehe Commit). Kein Zugriff über LAN möglich.- Hostsystem-Hostname: Sollte innerhalb der Container verfügbar sein und falls nicht, kann er über extra_hosts übergeben werden. Offensichtlich auch auf dem Hostsystem verfügbar. Würde auch den Zugriff über LAN ermöglichen. Das Templating ist jedoch nur mit Swarm verfügbar (1, 2) -> würde eine manuelle Konfiguration auf jedem Host erfordern (eine Variable setzen).
- Benutzerdefinierte Domain: erfordert erheblichen zusätzlichen Aufwand (ähnlich wie der Hostsystem-Hostname + mehr).
- Hostsystem-IP oder 127.10.0.1: Die Host-IP ändert sich je nach Netzwerk, etc. Würde den LAN-Zugriff ermöglichen, aber es wäre lästig, wenn sie sich ändert (diese Änderung könnte auch die Moodle-Installation beeinträchtigen). Der Docker host_gateway (standardmäßig 127.10.0.1) könnte gut funktionieren, aber nur für localhost, nicht für LAN.