FHNW Template Scripts, befinden sich in der Repository [lxc-templates](https://gitlab.fhnw.ch/hsrmas/lxc-templates). Für Neuinstallationen die Installationsanleitung der Repository verwenden (README).
Es wird empfohlen für weitere Template Scipts auf dem lxc-ubuntu Template aufzubauen. Alle Templates befinden sich im Verzeichnis `/usr/share/lxc/templates`. Das neue Template File muss den Präfix `lxc-`haben.
Neues Template erstellen:
```
cd /usr/share/lxc/templates
cp lxc-ubuntu lxc-mytemplate
```
Nach hinzugefügten Template Files muss der LXC Daemon neugestartet werden. Nicht aber bei Änderungen der bestehenden Scripts.
```
systemctl restart lxc
``
Das neu erstellte File lxc-mytemplate mit eigenen Scripts ergänzen. Dazu schreibt man chroot Befehle am Ende des Scripts.
Beispiel für ein Template mit einem Apache Webserver:
```
chroot ${rootfs} apt-get update -y
chroot ${rootfs} apt-get install apache2 -y
chroot ${rootfs} systemctl enable apache2 -y
```
Man muss ausserdem beachten, dass das chroot Filesystem im statischen Zustand ist. Befehle wie `systemctl restart mysql` oder `mysql -u root -ppassword <<< 'CREATE DATABASE MYDB;'` werden nicht funktionieren, weil die Daemons während der Runtime des Scripts nicht laufen.
### Debugging
Beim Debuggen kann es nützlich sein, Errors oder Output (STDERR & STDOUT) der Scripts in ein File zu schreiben. Die Befehle entsprechend mit einer Umleitung versehen: