Neue Software in Docker auf dem Allerlei (iNet) installieren

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

 

Dieser Beitrag hat einen Kommentar

Schreibe einen Kommentar

Menü schließen