Docker¶
Sowohl gView.Server als auch gView.WebApps stehen als fertige Docker-Images zur Verfügung. Damit lassen sich die Anwendungen containerisiert betreiben, z. B. in Docker Compose oder Kubernetes.
Bemerkung
Die Images werden nicht mehr auf Docker Hub (docker.io/gstalt/...) veröffentlicht,
sondern auf der GitHub Container Registry unter ghcr.io/jugstalt/.... Verweise auf
docker.io/gstalt/... sind veraltet und sollten nicht mehr verwendet werden.
gView.Server Image¶
docker pull ghcr.io/jugstalt/gview-server:latest
Der Container kann direkt gestartet werden:
docker run -d -p 45622:8080 --name=gview-server \
-e GV_REPOSITORY_PATH=/etc/gview-repository \
-e GV_ONLINERESOURCE_URL=http://localhost:45622 \
ghcr.io/jugstalt/gview-server:latest
Über die beiden Umgebungsvariablen lassen sich die wichtigsten Werte der _config/mapserver.json
überschreiben, ohne die Datei selbst anzupassen:
GV_REPOSITORY_PATH: Verzeichnis, in dem Services, Client-Daten, Output-Dateien usw. abgelegt werden. Für den produktiven Einsatz sollte dieses Verzeichnis über ein Volume außerhalb des Containers gemountet werden, damit die Einstellungen einen Neustart des Containers überstehen.GV_ONLINERESOURCE_URL: Die URL, unter der der Server von außen erreichbar ist. Diese wird z. B. verwendet, um Kartenbilder über das Output-Verzeichnis an Clients auszuliefern.
Nach dem Start ist die Verwaltungsoberfläche unter http://localhost:45622 erreichbar (im Beispiel oben). Der erste Login-Vorgang entspricht dem unter Lokal ausführen (Windows Desktop Modus) beschriebenen Ablauf: Der erste angelegte Benutzer wird automatisch zum Administrator.
gView.WebApps Image¶
docker pull ghcr.io/jugstalt/gview-webapps:latest
docker run -d -p 45623:8080 --name=gview-webapps ghcr.io/jugstalt/gview-webapps:latest
Die Anwendung ist danach unter http://localhost:45623 erreichbar.
Bemerkung
Für das gView.WebApps Image sind aktuell keine speziellen Umgebungsvariablen dokumentiert.
Die Konfiguration erfolgt wie bei den anderen Betriebsarten über _config/gview-web.config
(siehe Konfiguration gView.WebApps). Muss diese Datei angepasst werden, kann eine eigene Version
per Volume in das Verzeichnis /app/_config des Containers gemountet werden.
Eigene Konfiguration einbinden¶
Statt die Konfigurationsdateien im laufenden Container zu ändern, sollte eine angepasste
mapserver.json bzw. gview-web.config als Volume in den Container gemountet werden — das
entspricht dem gleichen Override-Prinzip, das auch beim klassischen Deploy verwendet wird
(siehe Konfiguration):
docker run -d -p 45622:8080 --name=gview-server \
-v /pfad/zu/meiner/mapserver.json:/app/_config/mapserver.json:ro \
-e GV_REPOSITORY_PATH=/etc/gview-repository \
-e GV_ONLINERESOURCE_URL=http://localhost:45622 \
ghcr.io/jugstalt/gview-server:latest
Bemerkung
Früher gab es dafür zusätzlich ein eigenes Basis-Image (gview-server-base), das als
FROM-Basis für ein eigenes Dockerfile diente, um Konfiguration und Fonts direkt in ein
eigenes Image einzubacken. Dieses Basis-Image ist aktuell nicht unter ghcr.io/jugstalt
veröffentlicht. Für individuelle Konfiguration ist das Mounten eigener Dateien (siehe oben)
der empfohlene Weg.