Mehrere, dockerisierte Websites in einem vServer betreiben

  • Hallo,


    ich knuspere noch dran rum wie ich das am besten anstelle. Da die Websites alle etwas unterschiedliche Anforderungen bezüglich ihrem Webserver, PHP, Python, Java haben, habe ich Docker installiert und die einzelnen Services dockerisiert. Nun läuft da z.B.

    dienst1:8080

    dienst2:8081

    dienst3:8082

    usw.

    Jeder Dienst hat eine eigene Subdomain in meiner Domain:

    https://service1.mydomain.com => dienst1:8080

    https://service2.mydomain.com => dienst2:8081

    https://service3.mydomain.com => dienst2:8082


    Normalerweise würde ich nun einen Nginx aufsetzen (auch als Container) welcher am Port 80 und 443 lauscht und die 443er Zugriffe dann gemäß der subdomain mittels proxy-pass Regel an die jeweiligen services/ports weiterleitet. Die SSL-Terminierung würde ich dann ebenfalls im nginx machen. Meine SSL-Zertifikate sind Let's Encrypt, also muss ich auch selbst dafür sorgen das diese regelmäßig aktualisiert und eingespielt werden. Das sind dann div. Cronjobs, etc.


    Nun habe ich einiges gehört über Traefik, Caddy, usw. Was bringen diese Dienste? Was machen sie besser? Wie setzt man das auf?

  • Im Prinzip machen die dasselbe wie der Nginx proxy manager. Traefik finde ich persönlich etwas umfangreicher in der Einrichtung, damit auch komplizierter. Zu Caddy kann ich nichts sagen.


    Ich selber benutze npm, Zoraxy ist auch sehr zu empfehlen, aber noch Recht neu (kleinere Community)

    WH 8000 SE BF22, Mikro G11s, VPS 500G11s BW24, VPS1000 G11 JA24, RS1000 G11, RS2000 G11 EM24


    Ich lebe im Netzwerk, ihr findet mich unter der IP-Adresse: 127.0.0.1

  • Die Lösung von nginx-proxy verwendet docker-gen um die Regeln für den Nginx automatisch zu erstellen. Das kann wohl auf Container-Daten zurückgreifen und, sofern richtig eingerichtet, eine Menge automatisch machen. So ganz blicke ich noch nicht durch...


    Caddy scheint mehr dafür gemacht zu sein einen Webserver wie Apache zu ersetzen. Was ich suche ist aber ein reiner Reverse-Proxy.

  • Einfach den NPM Container starten und loslegen. Anleitungen gibt's zuhauf im Netz.

    Der macht doch nichts anderes als eingehende Anfragen an die richtigen Container/Ports weiterzuleiten. Du musst ihm nur die Subdomain sowie den port deines Containers nennen, fertig. Du kriegst auch direkt dass passende SSL Zertifikat für die Domain. Alles automatisch!

    WH 8000 SE BF22, Mikro G11s, VPS 500G11s BW24, VPS1000 G11 JA24, RS1000 G11, RS2000 G11 EM24


    Ich lebe im Netzwerk, ihr findet mich unter der IP-Adresse: 127.0.0.1

  • Ich hab hier auf einem VPS auch nginx proxy manager als docker laufen. Subdomains mit LE-Zertifikat an die jeweiligen Container. Hat soweit alles super geklappt, allerdings bin ich mit docker und ufw noch nicht zu einer guten Lösung gekommen. Docker scheint die UFW zu öffnen, ich bin da noch nicht komplett mit einer Lösung durchgestiegen.


    Bei Netcup fehlt m.E. eine FW, welche sich über das Web Portal verwalteten lässt.

  • Ja, eine "extern" vorgeschaltete, über das CCP verwaltbare Firewall wäre wirklich klasse. Am besten was leistungsstarkes wie eine Palo Alto.

    Mike0185 wo man aufpassen muss ist bei dem IPv6 kram, der hat so seine eigenen Regeln. Das würde ich überall deaktivieren, dann sollte auch die FW passen.