Dataflow homserver (Nginx Proxy Manager, Docker, etc.)
Hallo Community,
ich weiß nicht so recht, ob das Thema hier am besten passt aber ich versuche es mal. Wieder mal ein Post a la: Ich sortiere mich mal.
Ausgangslage:
Bisher:
Idee:
Fragen:
1. Brosereingabe: hub.meinedomain.home
2. Internen DNS resolver fragen
3. Domain auf eine interne Docker IP auflösen (aber wie soll das gehen? Wie kommt hier der NPM ins Spiel?)
4. Damin per https anzeigen
Soweit meine Gedanken, hoffe ihr könnt mir etwas Folgen und Danke fürs Feedback.
ich weiß nicht so recht, ob das Thema hier am besten passt aber ich versuche es mal. Wieder mal ein Post a la: Ich sortiere mich mal.
Ausgangslage:
- Homeserver mit einigen Docker Containern z.B.: Portainer, Unifi Controller, später Nextcloud usw.
- Eigens generiert Zeritfikate (in meinem Fall per OPNsense)
- Homeserver inkl. der Container sollen nur intern oder später durch ein VPN Netz erreichbar sein, also nicht direkt aus dem www
- Ich möchte alle Verbindungen auch intern mittels SSL absichern (auch weil die SecurityInfo ständig nervt)
Bisher:
- root-CA, inter-CA und Zeritifkat zb für Portainer erstellt (also auf IP des Homeservers)
- KOmplette Chain für den Browser verfügbar gemacht
- Im Portainer kann ich manuel key und cer file einspielen, damit funtkioniert SSL nun. Für Unifi, Nextcloud etc. ist das irgendwie blöd/schwer wie auch immer
Idee:
- Nginx Proxy Manager per Docker ausfsetzen, als zentrale Anlaufstelle
- Zertifikat für Nextcloud hochladen, Proxy Host erstellen
- Für den Proxy Host in NPM benötige ich eine Domain. Da bei mir alles intern ist möchte ich zum Beispiel "https://hub.meinedomain.home" eintragen
- Bei IP kommt die interne Docker Container IP rein
- http und eben Port 80 (nicht genau im Kopf ob Nextcloud darauf hört)
Fragen:
- Damit "hub.meinedomain.home" intern auflöst benötige ich ja ein interes DNS. Wo mit baue ich dies auf? Kann/muss ich das mit Unbound, Bind etc. machen oder macht der der NPM selber?
- Was mir auch noch nicht ganz klar ist, ist die Kommunikation mittels NPM da mir ja die klassiche Portweiterleitung durch den Router fehlt. Ich bekomme bereits internen Traffic.
- In der Regel habe ich eine IP meines Servers, in meinem Fall lege ich Docker Container dann auf unterschiedliche Ports. Bei NPM geht das aber nicht mehr, siehe oben. Im Grunde muss der Weg doch sein:
1. Brosereingabe: hub.meinedomain.home
2. Internen DNS resolver fragen
3. Domain auf eine interne Docker IP auflösen (aber wie soll das gehen? Wie kommt hier der NPM ins Spiel?)
4. Damin per https anzeigen
Soweit meine Gedanken, hoffe ihr könnt mir etwas Folgen und Danke fürs Feedback.
Please also mark the comments that contributed to the solution of the article
Content-Key: 3293102072
Url: https://administrator.de/contentid/3293102072
Printed on: November 30, 2023 at 16:11 o'clock
5 Comments
Latest comment

Ich nutze PI-Hole als DNS. Zum einen als Werbeblocker - zum anderen kann man da über die Weboberfläche schnell eigene DNS-Einträge erzeugen ("A"-Einträge, die von einem Namen auf eine IPv4 verweisen).
PI-Hole lässt sich auch als DHCP-Server einsetzen.
PI-Hole lässt sich auch als DHCP-Server einsetzen.

Ich versteh das Problem nicht ganz.
In Docker kann man aber - am besten per docker-compose - per "extra_hosts" nebenbei so etwas wie einen Ersatz für /etc/hosts einpflegen und damit jedem Container beibringen, dass "portainer.meinedomain.home" eine bestimmte IP hat.
Außerdem gibt es noch Pseudo-Hostnamen wie "host.docker.internal". Den Namen kann man innerhalb von Containern benutzen, um auf die IP-Adresse des Hosts zuzugreifen. Das ist dann die IPv4, die von Docker für's Netzwerk vergeben wurde (fängt wahrscheinlich mit 172.x.x.x an). Siehe https://forums.docker.com/t/how-to-reach-localhost-on-host-from-docker-c ...
In Docker kann man aber - am besten per docker-compose - per "extra_hosts" nebenbei so etwas wie einen Ersatz für /etc/hosts einpflegen und damit jedem Container beibringen, dass "portainer.meinedomain.home" eine bestimmte IP hat.
Außerdem gibt es noch Pseudo-Hostnamen wie "host.docker.internal". Den Namen kann man innerhalb von Containern benutzen, um auf die IP-Adresse des Hosts zuzugreifen. Das ist dann die IPv4, die von Docker für's Netzwerk vergeben wurde (fängt wahrscheinlich mit 172.x.x.x an). Siehe https://forums.docker.com/t/how-to-reach-localhost-on-host-from-docker-c ...