Die Web2Py Applikation wird in ``/var/www/web2py`` liegen
Der Docker Container heisst ``web2py`` und greift auf den oben stehenden Ordner des Host Systems, sowie die LetsEncrypt Zertifikate zu
1) ``startup.sh``
Diese Datei sollte ausgefuehrt werden, wenn der Server startet. Das kann mit einem Eintrag in der Cron-Tabelle erreicht werden:
```
crontab -e
```
und dann
```
# m h dom mon dow command
@reboot /home/lbad/startup.sh
```
am Ende der Datei einfuegen.
2) ``nginx_config``
Diese Datei enthaelt die Konfiguration fuer den nginx Server. Der Server soll anfragen an den Webhook weiterleiten und ist ein Reverse Proxy fuer den web2py Docker Container.
Diese Datei enthaelt die URL, die GitLab aufrufen soll, wenn in die Server Repo gepushed wurde.
3) ``webhook``
Diese Datei enthaelt einen minimalen Python webserver, der, wenn die richtige URL aufgerufen wird, die Lynchburg Server Repo pulled und den Container neustartet.
4) ``web2py_docker``
In ``Dockerfile`` wird das web2py Admin Password eingestellt. Dies sollte auf jeden Fall vorher geaendert werden.
Wenn die Skripte ``0_`` bis ``3_`` ausgefuehrt werden, sollte ein Docker Container aus der beiliegenden ``Dockerfile`` erstellt und gestartet werden.
``4_`` kann benutzt werden, um in den laufenden Container einzusteigen und eine Bash Konsole zu bekommen.
``X_`` kann benutzt werden um den Docker Container zu loeschen, um danach z.B. den Container mit ``1_`` bis ``3_`` nochmal neu zu erstellen.
``0_`` muss nur 1x ausgefuehrt werden.
``entrypoint.sh`` (zusaetzlich zu anderen Datein) wird in den Container kopiert. Das Skript wird immer ausgefuehrt, wenn der Container startet.
5) Server Neustart
Jeden 1 des Monats um 6 Uhr Morgens wird der Server neugestartet. Das wird in der ``/etc/crontab`` Datei definiert:
```
00 6 1 * * root shutdown -r now
```
6) Server Updates
Koennen installiert werden mit:
```
sudo apt-get update
sudo apt-get upgrade
```
7) LTS End of Life
Aktuell ist das End of Life Date fuer Ubuntu 18.04 LTS
April 2023 bzw April 2028 (Das erste sind Feature Updates und das zweite sind Sicherheits Updates)
Wenn der Server so lange existieren soll, muss vor April 2028 sollte irgendwann mal:
```
sudo do-release-upgrade
```
ausgefuehrt werden. Das dauert so 30min und erfordert eventuell Benutzereingaben