5.1. Server

Da es sich bei dem Projekt um ein Produktionsfähiges System handelt, kann die Applikation nicht durch den Django-Debug-Server gestartet werden. Um die verschiedenen Docker-Einheiten und damit den Server zu initialisieren, müssen die Images aufgebaut und gestartet werden. Dieser Process kann einmalig bis zu 15 Minuten dauern

$ docker-compose up --build

Anschließend müssen innherhalb des Zhehe Docker-Containers verschiedene Operationen ausgeführt werden. Dies sollte aus Sicherheitsgründen stehts von dem Verwaltenten Administrator durchgeführt werden, da dies andernfall zu einer Sicherheitslücke führen kann.

Wenn Docker den Aufbau der Images fertiggestellt hat, welchseln Sie in ein neues Fenster und geben Sie folgenden Befehl ein, um zu sehen welche Images auf Ihrem System derzeit laufen.

$ docker ps

Der Output des Befehls sollte in etwa so aussehen.

../_images/docker_ps_output.png

Ganz links sehen Sie die ID des Containers und in der zweiten Spalte den Namen des Images. Wechseln Sie jetzt in den Container mit dem Namen python-web-wpf-zhehe mit folgendem Befehl. Ändern Sie die ID des Containers entsprechend Ihrer docker ps Ausgabe.

$ docker exec -it e430143a6129 bash

Sie befinden sich nun innerhalb des Docker-Containers. Führen Sie jetzt nur die init.sh aus und füllen Sie die Daten für den Superuser aus.

Um die Initialisierung innerhalb des Docker-Containers zu vereinfachen habe ich ein Skript init.sh erstellt, welches die verschiedenen Operationen durchführt. Das Skript arbeitet folgende Schritte ab.

python manage.py migrate

Dieses Kommando erstellt die Tabellen in der Datenbank.
Des Weiteren wird der Name der Domain auf zhehe.com verändert,
sowie auch der Name bezogen auf die Webseite.

python manage.py createsuperuser

Dieses Kommando ermöglicht es dem Administrator einen Super-User anzulegen, mit
welchem Benutzerdaten verwaltet werden können.

python manage.py collectstatic

Dieses Kommando verschiebt alle statischen Dateien in den in der settings.py angegebenen
STATIC_ROOT Ordner, damit der Webserver diese zur Verfügung stellen kann.

Nach der Ausführung der Initialisierung kann die Webseite nun unter 0.0.0.0:8080 aufgefunden und ausgeführt werden.