Beispiel: Horilla
(https://github.com/horilla-opensource/horilla/blob/master/docker.md)
Domainvorbereitung
1. Neuen Ordner im Verzeichnis /var/www erstellen und dem User www-data zuordnen:
mkdir -p /var/www/horilla chown www-data:www-data horilla/
2. Neue Domain im Strato anlegen und auf die IP des Allerlei (DNS-A Record) eintragen (A: 51.89.74.4 ). Hier: horilla.constancy.biz
3. Anlegen der Domaineinstellungen im Apache, Vorlage hier: /etc/apache2/sites-available/017-horilla.constancy.biz.conf
<VirtualHost *:80>
ServerName horilla.constancy.biz
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
</VirtualHost>
4. Aktivierung der Domain:
a2ensite 017-horilla.constancy.biz.conf systemctl reload apache2
5. Erzeugung eines SSL Zertifikates für die Domain:
certbot
=> Auswahl der Domain (Nummer) und dann Enter drücken. Das Zertifikat wird automatisch erneuert wenn es abläuft. Es wird hierdurch eine neue Datei in /etc/apache2/sites-available erzeugt: 017-horilla.constancy.biz-le-ssl.conf. Hier müssen wir nun noch das korrekt verzeichnis ergänzen. Anbei die vollständige Datei:
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName horilla.constancy.biz SSLEngine on SSLCertificateFile /etc/letsencrypt/live/horilla.constancy.biz/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/horilla.constancy.biz/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf ProxyPreserveHost On ProxyRequests Off # WebSocket-Unterstützung – muss **vor** dem allgemeinen ProxyPass kommen! <Location /ws/> ProxyPass "ws://localhost:8000/ws/" ProxyPassReverse "ws://localhost:8000/ws/" ProxyAddHeaders Off RequestHeader set Connection "upgrade" RequestHeader set Upgrade "websocket" </Location> # Alle anderen Pfade ProxyPass "/" "http://localhost:8000/" ProxyPassReverse "/" "http://localhost:8000/" </VirtualHost> </IfModule>
Wichtig! Bei den beiden Zeilen ProxyPass und ProxyPassReverse muss der Port des Docker-Containers genutzt werden! Diesen sieht man in der Docker-Compose (siehe unten) bzw. kann man den dort auch selbst festlegen.
Zum Abschluss hier nochmal den Apache neu Starten damit alle Änderungen übernommen werden:
systemctl reload apache2
Software installieren
Hier muss gesagt werden, dass es unterschiedliche Methoden gibt. Oft gibt es im Projekt eine “docker-compose.yaml”. Wenn das nicht der Fall ist dann gibt es aber im Projekt selbst meist eine Anleitung. Falls es “nur” ein Docker Run Befehl gibt macht es meine Meinung nach Sinn sich selbst eine docker-compose.yaml zu schreiben. Das geht am einfachsten, wenn man den Docker run Befehl bei ChatGPT einwirft und sich eine Datei erzeugen lässt. Hier nun das Beispiel, wie es geht wenn es eine docker-compose.yaml gibt.
1. Falls ein GitRepo des Projektes vorhanden ist einfach auschecken. Falls nicht hat das Projekt meist eine Docker Installationsanleitung. Oft ist es einfach nur Download der docker-compose.yaml und des Dockerfile:
git clone https://github.com/horilla-opensource/horilla.git .
2. Docker Container starten.
Falls man es nur probieren möchte geht das mit:
docker compose up
Hierbei bleibt der Container aber nur so lange offen, wie man die Console offen hat. Soll er dauerhaft laufen dann bitte starten mit
docker compose up -d

Pingback: Einrichtung Horilla – Wissensdatenbank