[Solved] Externes Gerät hinter Reverse Proxy/externe Docker managen


McFex

Recommended Posts

Moin Moin liebe unRaid Kollegen,

 

da ich nicht sicher bin, wo genau ich meine Frage im Hauptforum unterbringen könnte, frage ich erstmal hier.

Wahrscheinlich (wenn wir mir hier nicht helfen können) probiere ich es am Besten noch im "swag support" Thread?

 

Ich habe mich auf den ersten Blick in unRaid verliebt und mir direkt einen kleinen Server aus altem Gehäuse, MB und was halt sonst noch in einem guten Nerdhaushalt rumliegt zusammengebastelt. Na gut. Ein paar neue Platten mussten her, aber nach dem meine älteste von 2010 war (500GB) und zuletzt immer deutlicher Performanceeinbußen gezeigt hat, war es sowieso an der Zeit. Außerdem ist mir kürzlich eine deutlich jüngere Platte (3TB) abgeraucht, bei der der Datenverlust doch schmerzhaft war. Mehr Datensicherheit war also auch ein Motivator.

Ich habe Mitte August angefangen zu basteln und zu testen.

Inzwischen läuft alles super, nach anfänglichen Problemen mit USB auf meinem MB (welches ich dann ausgetauscht habe) ist unRaid jetzt seit 17 Tagen stabil online.

Ich habe meine Pflichtlektüre an "Spaceinvader" Videos genossen und natürlich etliche Apps und Dockercontainer installiert.

Unter anderem habe ich mit swag einen Reverse Proxy installiert.

 

Jetzt habe ich kürzlich einen odroidN2+ erstanden auf dem ich einen kleinen Telegram Bot in Docker und Portainer zum Managen der Docker laufen habe. Außerdem soll da mal noch ein Mailserver dazu.

Hier meine Frage:

 

Ob und wenn ja, wie kann ich den odroid, bzw. die darauf laufenden Programme/Dockercontainer in meinen Reverse Proxy integrieren?

Gibt es eine Möglichkeit in appdata/swag/nginx/proxy-confs in einer .conf unter /location die IP anzugeben?

Zur Erklärung: mein unRaid Server hat die IP 192.160.170.56. Mein odroid hat die IP 192.167.170.50. Sie sind also im selben LAN Netzwerk.

Auf dem odroid läuft außerdem Portainer als Docker. Um von überall darauf zugreifen zu können, hab ich schon eine Subdomain eingerichtet.

A-Eintrag ist meine feste IPv4 und AAAA-Eintrag ist die IPv6 meines odroidN2+.

 

Oder geht es nicht und ich muss auf dem odroidN2+ einen eigenen Reverse Proxy einrichten?

 

Vielen dank schon mal, für alle, die sich für mich, bzw. mit mir den Kopf zerbrechen ;)

 

Link to comment

Na, das hört sich ja schon mal gut an.

@vakilando Kannst du mir denn auch sagen, wie, bzw. was genau ich dafür konfigurieren muss?

Also, wie die proxy-conf Datei dazu aussehen muss?

Sollte die IPv6 in den DNS Einträgen der subdomain auf den odroid oder auf die Kiste auf der unraid/swag läuft verweisen?

Edited by McFex
spelling
Link to comment

Wenn du swag installierst werden auch zahlreiche Vorlagen in "appdata/swag/nginx/proxy-confs" mitinstalliert.

Für portainer z.B. "portainer.subdomain.conf.sample" und "portainer.subfolder.conf.sample".

 

Wenn du nun einen auf unraid oder dem odroidN2+ laufenden Docker von außen erreichen willst musst du hierfür einen DNS-Eintrag bei deinem dyndns Dienst erstellen (z.B. portainer.deindyndns.bla), der auf die externe IP deines Routers zeigt

 

Deinen Router musst du so konfigurieren dass alle HTTPS Anfragen von außen an die IP des swag Containers weitergeleitet werden.

 

Die "portainer.subdomain.conf.sample" benennst du um (oder kopieren) nach "portainer.subdomain.conf" und passt folgende Einträge so an, dass sie auf das korrekte Ziel zeigen (Docker auf Unraid oder odroidN2+):

Subdomain:

server_name portainer.deindyndns.bla;

IP und Port des Portainer Docker Containers (auf Unraid oder odroidN2+): 

proxy_pass http://portainer.deindyndns.bla:1234;

Wenn der Container auf dem odroidN2+ laufen solltest du folgende Zeilen in der .conf nicht verwenden:

        resolver 127.0.0.11 valid=30s;
        set $upstream_app portainer;
        set $upstream_port 9000;
        set $upstream_proto http;

Ob du aber Portainer wirklich von Außen erreichbar machen willst, musst du entscheiden. Ich würde das aus Sicherheitsgründen nicht tun!

Applikationen wie Emby, Pley, Nextcoud, Pydio, ..... JA

Konfigurations-Applikationen wie Portainer, Unraid selbst, ......NEIN. Für diese würde ich eher ein VPN einrichten....

  • Thanks 1
Link to comment

Großartig!

Vielen Dank für die ausführlichere Antwort :)!

 

Ja, du hast recht - das klingt sehr plausibel, es ist wohl keine so gute Idee, Portainer von außen über subdomain erreichbar zu machen. OpenVPN ist sowieso schon auf unRaid als Docker installiert, um auf unRaid von außen zuzugreifen. So werd ichs dann auch mit Portainer machen. Hätt ich gleich dran denken sollen, aber Ich entdecke grade erst die Welt von DNS, Domains und Subdomains und linux und swag und Reverse Proxies - da verknotet sich schnell mal das Gehirn :D!

 

Evtl. ließe es sich auch einrichten einen Portainer Docker in unRaid zu installieren und darüber dann den Portainer oder gleich alle docker auf dem odroid anzusteuern? Evtl. brauche ich also Portainer gar nicht auf dem odroid.

Ich meine bei der Portainer-Einrichtung was entsprechendes gelesen zu haben.

 

Wie gesagt nochmal vielen Dank - ich werde dann mal weitertüfteln...

Link to comment
  • McFex changed the title to [Solved] OdroidN2+ hinter Reverse Proxy auf unRaid PC?

Update:

 

YES! Ich habe es geschafft.

portainer_docker_auf_2_versch_pc.thumb.png.8e5597dafa25e5dd74c1cadb009340ea.png

 

Auch wenn das mit meinem ursprünglichen Post eigentlich nix zu tun hat:

 

Es ist möglich Docker auf anderen Geräten im Netzwerk mit Portainer (als Docker auf unRaid) zu managen. Ich habe das über den EDGE-Agent realisiert.

https://downloads.portainer.io/edge_agent_guide.pdf

 

Ich dachte, der Vollständigkeit halber sollte ich noch das Ergebnis meiner Tüftelei mitteilen:

 

Am Ende habe ich also davon abgesehen, Portainer übers web zugänglich zu machen - aus Sicherheitsgründen (wie von vakilando beschrieben, danke!).

Dafür habe ich gelernt, dass man durchaus andere Geräte im LAN hinter einen auf unRaid installierten Reverse Proxy schalten kann,

und das es möglich ist, Portainer auf unRaid als Docker laufen zu lassen und darüber andere Docker (und sogar unRaid's Docker) zu steuern. Diese müssen noch nicht einmal im selben LAN sein, man kann x-beliebige Container/Stacks egal wo (also auch über WAN) managen.

Ich habe die einfachste Variante gewählt, die komplizierteren Varianten erfordern DNS-Kenntnisse, da u.U. eine subdomain benötigt wird.

 

Noch großartiger wäre es natürlich, wenn in der Zukunft irgendwann die Möglichkeit bestünde, der Docker UI in unRaid einfach andere Docker außerhalb von unRaid zuzufügen, sodass Portainer ganz überflüssig ist.

Und jetzt versuche ich noch, diesem Thread einen Namen zu geben, der aussagt, was hier drin steht o.0 ...

Link to comment
  • McFex changed the title to [Solved] Externes Gerät hinter Reverse Proxy/externe Docker managen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.