[{"data":1,"prerenderedAt":1115},["ShallowReactive",2],{"content-index":3,"guide-de-self-hosting-expose-docker-containers-to-the-internet":80,"guides-navigation-de":1030},{"en":4,"de":54,"es":67},{"paths":5,"docs":29},[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28],"\u002Fdocs\u002Fgetting-started","\u002Fdocs\u002Flinux","\u002Fdocs\u002Fmacos","\u002Fdocs\u002Fwindows","\u002Fdocs\u002Fdocker","\u002Fdocs\u002Fcreate-api-key","\u002Fguides\u002Ffind-your-public-ip-address\u002Ffind-your-ip-address-on-linux","\u002Fguides\u002Ffind-your-public-ip-address\u002Ffind-your-ip-address-on-mac","\u002Fguides\u002Ffind-your-public-ip-address\u002Ffind-your-ip-address-on-windows","\u002Fguides\u002Ffind-your-public-ip-address","\u002Fguides\u002Fself-hosting\u002Fdocker-desktop-mac-client-ip","\u002Fguides\u002Fself-hosting\u002Fexpose-docker-containers-to-the-internet","\u002Fguides\u002Fself-hosting\u002Fexpose-home-server-to-internet","\u002Fguides\u002Fself-hosting\u002Fgetpublicip-vs-cloudflare-tunnel-vs-tailscale","\u002Fguides\u002Fself-hosting\u002Fmac-mini-home-server","\u002Fguides\u002Fself-hosting\u002Fport-forwarding-not-working","\u002Fguides\u002Fself-hosting\u002Fself-hosting-behind-carrier-grade-nat-cgnat","\u002Fguides\u002Fself-hosting\u002Fwireguard-simple-watchdog-script","\u002Fguides\u002Fstatic-public-ip-address\u002Fhow-to-get-a-public-ip-address","\u002Fguides\u002Fstatic-public-ip-address\u002Fhow-to-get-a-static-ip-address","\u002Fguides\u002Fstatic-public-ip-address","\u002Fguides\u002Fuse-cases\u002Fhome-server","\u002Fguides\u002Fuse-cases\u002Foffice-server",[30,34,38,42,46,50],{"path":6,"title":31,"icon":32,"stem":33},"Getting Started","mdi-file-document-outline","docs\u002F1.getting-started",{"path":7,"title":35,"icon":36,"stem":37},"Linux","mdi-linux","docs\u002F2.linux",{"path":8,"title":39,"icon":40,"stem":41},"macOS","mdi-apple","docs\u002F3.macos",{"path":9,"title":43,"icon":44,"stem":45},"Windows","mdi-microsoft-windows","docs\u002F3.windows",{"path":10,"title":47,"icon":48,"stem":49},"Docker","mdi-docker","docs\u002F4.docker",{"path":11,"title":51,"icon":52,"stem":53},"Create API Key","mdi-key","docs\u002F5.create-api-key",{"paths":55,"docs":58},[6,7,8,9,10,11,12,14,15,56,17,18,57,19,21,22,24,25,26,27,28],"\u002Fguides\u002Fself-hosting\u002Fdyndns-hinter-cgnat","\u002Fguides\u002Fself-hosting\u002Ffritzbox-portfreigabe-ds-lite",[59,61,62,63,64,65],{"path":6,"title":60,"icon":32,"stem":33},"Erste Schritte",{"path":7,"title":35,"icon":36,"stem":37},{"path":8,"title":39,"icon":40,"stem":41},{"path":9,"title":43,"icon":44,"stem":45},{"path":10,"title":47,"icon":48,"stem":49},{"path":11,"title":66,"icon":52,"stem":53},"API-Schlüssel erstellen",{"paths":68,"docs":71},[6,7,8,9,10,11,12,14,15,69,70,17,18,19,21,22,24,25,26,27,28],"\u002Fguides\u002Fself-hosting\u002Fcomo-saber-si-tengo-cgnat","\u002Fguides\u002Fself-hosting\u002Fddns-detras-de-cgnat",[72,74,75,76,77,78],{"path":6,"title":73,"icon":32,"stem":33},"Primeros pasos",{"path":7,"title":35,"icon":36,"stem":37},{"path":8,"title":39,"icon":40,"stem":41},{"path":9,"title":43,"icon":44,"stem":45},{"path":10,"title":47,"icon":48,"stem":49},{"path":11,"title":79,"icon":52,"stem":53},"Crear clave API",{"id":81,"title":82,"body":83,"createdAt":1012,"description":1013,"extension":1014,"faq":1015,"meta":1022,"navigation":1023,"path":17,"seo":1026,"stem":1027,"updatedAt":1028,"__hash__":1029},"content_de\u002Fguides\u002Fself-hosting\u002Fexpose-docker-containers-to-the-internet.md","Docker Container aus dem Internet erreichbar machen",{"type":84,"value":85,"toc":997},"minimark",[86,90,103,169,199,247,278,401,468,501,726,759,787,818,916,980,993],[87,88,82],"h1",{"id":89},"docker-container-aus-dem-internet-erreichbar-machen",[91,92,95],"guide-quick-answer",{"cta-title":93,"cta-text":94},"Eine öffentliche IP-Adresse für Ihren Compose-Stack?","Eine eigene öffentliche IPv4- und IPv6-Adresse, über einen verschlüsselten Tunnel an Ihren Docker-Host geleitet. Keine veröffentlichten Ports, keine Änderungen am Router, funktioniert auch hinter CGNAT.",[96,97,98,102],"p",{},[99,100,101],"strong",{},"Kurz gesagt."," Ein ports:-Eintrag macht einen Container auf Ihrem Host erreichbar und nicht weiter. Darüber hinaus kommen Sie auf vier Wegen: mit einer Portfreigabe am Router, die eine echte öffentliche IP-Adresse von Ihrem Internetanbieter voraussetzt; mit Cloudflare Tunnel für HTTP und HTTPS; mit Tailscale für den privaten Zugriff auf Ihre eigenen Geräte; oder mit einer eigenen öffentlichen IP-Adresse, die an Ihr Docker-Projekt geleitet wird, jedes Protokoll transportiert und nirgends geöffnete Ports braucht.",[104,105,115],"v-sheet",{"className":106,"rounded":113,"max-width":114},[107,108,109,110,111,112],"mx-auto","pa-lg-4","pa-2","mt-2","mb-4","ma-0","","1200",[116,117,120,121,120,135],"v-row",{"className":118},[119],"align-center","\n  ",[122,123,126,127,120],"v-col",{"cols":124,"md":125},12,"5","\n    ",[128,129],"v-img",{"src":130,"alt":131,"className":132,"height":134,"cover":113},"\u002Fimages\u002Fguides\u002Fdocker_containers_stacked_glowing.webp","Isometrische Illustration von vier leuchtend bernsteinfarbenen Schiffscontainern, gestapelt auf einem dunklen Sockel über einem schwachen Leiterplattenmuster",[133],"rounded",420,[122,136,126,138,126,151,126,158,120],{"cols":124,"md":137},"7",[96,139,141,142,146,147,150],{"style":140},"text-align: left; hyphens: none;","Ihr Docker-Compose-Stack läuft: Sie starten ",[143,144,145],"code",{},"docker compose up -d",", öffnen ",[143,148,149],{},"http:\u002F\u002Flocalhost:8080",", und die Anwendung ist da. Jetzt soll das Projekt online gehen, damit andere es nutzen können.",[96,152,153,154,157],{"style":140},"Genau hier wird es schwierig, Docker Container aus dem Internet erreichbar zu machen, denn ab diesem Punkt ist es kein Docker-Problem mehr. Ihre ",[143,155,156],{},"ports:","-Einträge haben bereits alles getan, was sie können. Zwischen Ihrem Stack und dem Internet steht das Netz Ihres Internetanbieters.",[96,159,162,163,168],{"className":160,"style":140},[161],"mb-0","Dieser Leitfaden erklärt, was im Weg steht, welche vier Wege daran vorbeiführen und was eine eigene öffentliche IP-Adresse an einem Compose-Projekt ändert. Die vollständige Konfigurationsreferenz finden Sie in der ",[164,165,167],"a",{"href":166},"\u002Fde\u002Fdocs\u002Fdocker","Docker-Dokumentation",".",[104,170,172,177,192],{"className":171,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,174,176],"h2",{"id":175},"was-ports-tatsächlich-bewirkt","Was ports: tatsächlich bewirkt",[96,178,179,180,183,184,187,188,191],{},"Wenn Sie ",[143,181,182],{},"ports: \"8080:80\""," schreiben, weist Docker den Kernel des Hosts an, Datenverkehr auf Host-Port 8080 an Port 80 im Container weiterzuleiten. Der Service ist dann unter der Adresse des Hosts erreichbar: ",[143,185,186],{},"localhost:8080"," auf dem Rechner selbst und etwa ",[143,189,190],{},"192.168.1.50:8080"," von einem Laptop im selben Netz.",[96,193,194,195,198],{},"Mehr passiert nicht. ",[99,196,197],{},"Ein veröffentlichter Port erreicht den Host und über den Host Ihr lokales Netz."," Über Ihren Router hinaus reicht er nicht, und daran ändert keine Compose-Einstellung etwas, weil das Hindernis nicht in Docker liegt.",[104,200,202,206,229,236,239],{"className":201,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,203,205],{"id":204},"private-adressen-und-die-übersetzung-die-sie-verbirgt","Private Adressen und die Übersetzung, die sie verbirgt",[96,207,208,209,212,213,216,217,220,221,224,225,228],{},"Sehen Sie sich die Adresse an, die Ihr Rechner in Ihrem Netz hat. Beginnt sie mit ",[143,210,211],{},"192.168.",", ",[143,214,215],{},"10."," oder liegt sie zwischen ",[143,218,219],{},"172.16."," und ",[143,222,223],{},"172.31.",", ist es eine ",[99,226,227],{},"private Adresse",": ein Bereich für die interne Nutzung, den kein Router im öffentlichen Internet weiterleitet. Jedes Gerät in Ihrem Netz hat eine solche Adresse, und jeder Container ebenso.",[96,230,231,232,235],{},"Ihr Router hält die eine öffentliche IP-Adresse, die Ihnen Ihr Anbieter zugeteilt hat, und leiht sie allen Geräten dahinter, per ",[99,233,234],{},"Network Address Translation",", kurz NAT. Baut Ihr Laptop eine Verbindung nach außen auf, ersetzt der Router die Absenderadresse des Pakets durch seine eigene, merkt sich das und schreibt die Antworten so um, dass sie beim anfragenden Gerät ankommen.",[96,237,238],{},"Das funktioniert nur in eine Richtung. Eine ausgehende Verbindung legt beim Verlassen ihren eigenen Eintrag in der Tabelle des Routers an. Eine eingehende Verbindung von einem Fremden findet keinen passenden Eintrag und kein Ziel, also wird sie verworfen. Mit einer Portfreigabe legen Sie einen solchen Eintrag von Hand und im Voraus an.",[96,240,241,242,246],{},"Wenn Sie nicht sicher sind, was Ihr Anschluss Ihnen bietet: Im Leitfaden ",[164,243,245],{"href":244},"\u002Fde\u002Fguides\u002Fstatic-public-ip-address\u002Fhow-to-get-a-public-ip-address","So bekommen Sie eine öffentliche IP-Adresse"," steht, wie Sie das prüfen.",[104,248,250,254,257,268,275],{"className":249,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,251,253],{"id":252},"cgnat-wo-eine-portfreigabe-keine-option-mehr-ist","CGNAT: Wo eine Portfreigabe keine Option mehr ist",[96,255,256],{},"Hinter der ersten Mauer steht eine zweite, und immer mehr Menschen sitzen dahinter.",[96,258,259,260,263,264,267],{},"Vielen Internetanbietern sind die IPv4-Adressen ausgegangen, deshalb führen sie dieselbe Übersetzung eine Ebene höher ein zweites Mal durch. Dann ist auch die WAN-Adresse Ihres Routers privat, meist im Bereich ",[143,261,262],{},"100.64.0.0\u002F10",", und die echte öffentliche Adresse teilen Sie sich mit vielen anderen Kunden. Das ist ",[99,265,266],{},"Carrier-Grade NAT",", kurz CGNAT.",[96,269,270,271,168],{},"Eine Freigaberegel an Ihrem eigenen Router wartet nun auf Datenverkehr, der nie ankommt, denn wohin eine eingehende Verbindung geht, entscheidet sich vorher, auf Geräten, auf die Sie keinen Zugriff haben. Wie Sie feststellen, welche Situation bei Ihnen vorliegt, und welche Anbieter so arbeiten, erklärt der Leitfaden zum ",[164,272,274],{"href":273},"\u002Fde\u002Fguides\u002Fself-hosting\u002Fself-hosting-behind-carrier-grade-nat-cgnat","Selbst-Hosten hinter Carrier-Grade NAT",[96,276,277],{},"Für einen Compose-Stack kommen vier Ansätze in Frage, und alles, was CGNAT übersteht, tut das aus einem Grund: Es beruht auf einer Verbindung, die Ihr Rechner nach außen aufbaut.",[104,279,281,285,393],{"className":280,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,282,284],{"id":283},"die-vier-wege-im-vergleich","Die vier Wege im Vergleich",[286,287,289],"div",{"style":288},"overflow-x: auto;",[290,291,292,317],"table",{},[293,294,295],"thead",{},[296,297,298,302,305,308,311,314],"tr",{},[299,300,301],"th",{},"Methode",[299,303,304],{},"Funktioniert hinter CGNAT",[299,306,307],{},"Protokolle",[299,309,310],{},"Wer TLS terminiert",[299,312,313],{},"Änderung am Router",[299,315,316],{},"Adresse, unter der Sie erreichbar sind",[318,319,320,341,359,377],"tbody",{},[296,321,322,326,329,332,335,338],{},[323,324,325],"td",{},"Portfreigabe am Router",[323,327,328],{},"Nein",[323,330,331],{},"Jedes TCP oder UDP",[323,333,334],{},"Ihr eigener Service",[323,336,337],{},"Ja",[323,339,340],{},"Die Ihres Anbieters, meist wechselnd",[296,342,343,346,348,351,354,356],{},[323,344,345],{},"Cloudflare Tunnel",[323,347,337],{},[323,349,350],{},"HTTP und HTTPS",[323,352,353],{},"Cloudflare",[323,355,328],{},[323,357,358],{},"Der geteilte Adressraum von Cloudflare",[296,360,361,364,366,369,372,374],{},[323,362,363],{},"Tailscale",[323,365,337],{},[323,367,368],{},"Alle, aber nur privat",[323,370,371],{},"Ende-zu-Ende innerhalb Ihres Tailnets",[323,373,328],{},[323,375,376],{},"Eine private Tailnet-Adresse",[296,378,379,382,384,386,388,390],{},[323,380,381],{},"Eigene öffentliche IP",[323,383,337],{},[323,385,331],{},[323,387,334],{},[323,389,328],{},[323,391,392],{},"Eine öffentliche IPv4-Adresse, die Ihnen gehört",[96,394,395,396,400],{},"Die ersten beiden Spalten entscheiden die meisten Fälle. Mit einer echten öffentlichen IP-Adresse und einem nicht gesperrten Port ist die Portfreigabe kostenlos und kaum zu schlagen. Spricht alles, was Sie betreiben, HTTP, ist Cloudflares Tunnel kostenlos und für diesen Zweck sehr gut. Ausführlicher geht es im Vergleich ",[164,397,399],{"href":398},"\u002Fde\u002Fguides\u002Fself-hosting\u002Fgetpublicip-vs-cloudflare-tunnel-vs-tailscale","GetPublicIP vs. Cloudflare Tunnel vs. Tailscale"," um die Unterschiede.",[104,402,404,408],{"className":403,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,405,407],{"id":406},"die-vier-wege-im-detail","Die vier Wege im Detail",[116,409,120,410,120,433,120,444,120,456],{},[122,411,126,413,126,418,126,422,120],{"cols":124,"md":412},"6",[414,415,325],"h3",{"style":416,"id":417},"font-size: 1.3rem !important; margin: 0 0 0.4rem !important;","portfreigabe-am-router",[96,419,421],{"style":420},"color: #ffb74d; font-weight: 600; font-size: 0.95rem; text-align: left; margin-bottom: 0.5rem;","Jedes Protokoll, sofern Ihr Anbieter Ihnen eine echte öffentliche IP-Adresse gibt.",[96,423,424,425,427,428,432],{"style":140},"Geben Sie dem Docker-Host eine feste Adresse, veröffentlichen Sie den Container-Port mit einem ",[143,426,156],{},"-Eintrag und richten Sie am Router eine Regel ein, die eingehenden Verkehr auf einem gewählten Port an diesen Host schickt. Das kostet nichts, vorausgesetzt, Ihr Anbieter hat Sie nicht hinter CGNAT gesetzt und sperrt den benötigten Port nicht; meist trifft es Port 25 für E-Mail und Port 80 für HTTP. Private Anschlüsse bekommen außerdem regelmäßig eine neue Adresse. Wenn eine Regel nicht wie erwartet funktioniert, geht der ",[164,429,431],{"href":430},"\u002Fde\u002Fguides\u002Fself-hosting\u002Fport-forwarding-not-working","Leitfaden zur Fehlersuche bei der Portfreigabe"," die üblichen Ursachen der Reihe nach durch.",[122,434,126,435,126,438,126,441,120],{"cols":124,"md":412},[414,436,345],{"style":416,"id":437},"cloudflare-tunnel",[96,439,440],{"style":420},"HTTP und HTTPS, wobei Cloudflare Ihr TLS terminiert.",[96,442,443],{"style":140},"Ein kleiner Daemon, der als weiterer Container im selben Compose-Projekt laufen kann, baut eine ausgehende Verbindung zum Netz von Cloudflare auf und hält sie offen. Weil diese Verbindung ausgehend ist, stört CGNAT nicht, und am Router ist nichts nötig. Das ist kostenlos, gut dokumentiert und für eine selbst gehostete Webanwendung eine wirklich gute Lösung. Die Grenzen sollten Sie aber kennen, bevor Sie sich festlegen: Ein Gameserver, Mailserver, DNS-Resolver oder alles, was rohes TCP oder UDP spricht, ist nicht vorgesehen. Cloudflare entschlüsselt Ihren Datenverkehr an seinem Edge und verschlüsselt ihn auf dem Weg zu Ihnen neu. Und Sie sind über einen geteilten Adressraum erreichbar, es gibt also keinen Reverse-DNS-Eintrag, den Sie setzen könnten.",[122,445,126,446,126,450,126,453,120],{"cols":124,"md":412},[414,447,449],{"style":416,"id":448},"tailscale-und-andere-mesh-vpns","Tailscale und andere Mesh-VPNs",[96,451,452],{"style":420},"Ihre eigenen Geräte, von überall. Kein öffentliches Hosting.",[96,454,455],{"style":140},"Tailscale baut aus Ihren eigenen Geräten ein privates Netz. Installieren Sie es auf dem Docker-Host, auf Laptop und Smartphone, melden Sie sich überall mit demselben Konto an, und die Geräte erreichen einander, egal ob NAT oder CGNAT dazwischen liegt. Um unterwegs auf die eigenen Services zuzugreifen, ist das von allen Wegen hier der geringste Aufwand. Verbinden können sich allerdings nur Geräte, die Sie selbst eingebunden haben, und genau das ist der Sinn des Konzepts: Ein Besucher, der nie von Ihnen gehört hat, erreicht Ihr Tailnet nicht. Websites, Gameserver und alles andere, das für andere Menschen gedacht ist, liegen daher außerhalb dessen, wofür es gemacht ist.",[122,457,126,458,126,462,126,465,120],{"cols":124,"md":412},[414,459,461],{"style":416,"id":460},"eine-eigene-öffentliche-ip-adresse","Eine eigene öffentliche IP-Adresse",[96,463,464],{"style":420},"Jedes Protokoll, auf einer Adresse, die Ihnen gehört.",[96,466,467],{"style":140},"Statt Ihren Stack über die Infrastruktur eines anderen erreichbar zu machen, bekommen Sie eine eigene öffentliche IPv4-Adresse, die an Ihren Rechner geleitet wird. Der Tunnel ist eine ausgehende Verbindung, CGNAT und Router-Konfiguration spielen also keine Rolle mehr. Am anderen Ende kommen gewöhnliche Pakete auf einer gewöhnlichen öffentlichen Adresse an: in welchem Protokoll auch immer, auf welchem Port Sie auch immer weiterleiten, ohne dass unterwegs etwas sie prüft oder umschreibt.",[104,469,471,475,481,487,493],{"className":470,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,472,474],{"id":473},"welcher-weg-zu-dem-passt-was-sie-betreiben","Welcher Weg zu dem passt, was Sie betreiben",[96,476,477,480],{},[99,478,479],{},"Eine Webanwendung und sonst nichts."," Cloudflare Tunnel, es sei denn, Sie legen Wert auf Privatsphäre und echte Ende-zu-Ende-Verschlüsselung.",[96,482,483,486],{},[99,484,485],{},"Nur Ihre eigenen Geräte brauchen Zugriff."," Tailscale. Öffentlich muss dann überhaupt nichts erreichbar sein.",[96,488,489,492],{},[99,490,491],{},"Alles, was nicht HTTP ist,"," oder CGNAT plus mehr als Webverkehr. Eine Portfreigabe, wenn Ihr Anschluss es zulässt, sonst eine eigene öffentliche IP-Adresse.",[96,494,495,496,500],{},"Läuft Ihr Stack nicht in Docker, gelten dieselben vier Wege. Sie sind im Leitfaden ",[164,497,499],{"href":498},"\u002Fde\u002Fguides\u002Fself-hosting\u002Fexpose-home-server-to-internet","Heimserver aus dem Internet erreichbar machen"," beschrieben.",[104,502,504,508,537],{"className":503,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,505,507],{"id":506},"so-sieht-das-in-einer-compose-datei-aus","So sieht das in einer Compose-Datei aus",[116,509,120,512,120,529],{"className":510},[119,511],"mb-2",[122,513,126,514,126,518,126,525,120],{"cols":124,"md":137},[96,515,517],{"className":516,"style":140},[161],"Der Agent ist ein weiterer Service neben denen, die Sie schon betreiben. Er tritt demselben Netz bei wie Ihre anderen Container, hält den Tunnel offen und leitet die angegebenen Ports an die genannten Services weiter.",[96,519,521,522,168],{"className":520,"style":140},[161],"Zwei Ports auf Ihrer öffentlichen Adresse, per Name an den Service `web` geschickt. Die Mapping-Syntax beherrscht auch UDP, IPv6, Dual-Stack und Ziele außerhalb des Compose-Projekts; die Referenz dazu, mit einem vollständigen Beispiel, steht auf der ",[164,523,524],{"href":166},"Docker-Seite der Dokumentation",[96,526,528],{"className":527,"style":140},[161],"Ihre eigenen Services bleiben unverändert. `web` ist oben einfach das, was Sie ohnehin betreiben: keine neuen Umgebungsvariablen, keine Labels, und es bekommt von alldem nichts mit.",[122,530,126,531,120],{"cols":124,"md":125},[128,532],{"src":533,"alt":534,"className":535,"height":536,"cover":113},"\u002Fimages\u002Fguides\u002Fdocker_compose_adding_one_container.webp","Isometrische Illustration eines Portalkrans, der einen leuchtend bernsteinfarbenen Schiffscontainer auf eine Reihe grauer Container auf einer dunklen Plattform absenkt",[133],260,[538,539,543],"pre",{"className":540,"code":541,"language":542,"meta":113,"style":113},"language-yaml shiki shiki-themes monokai","services:\n  web:\n    image: nginx:alpine\n    restart: unless-stopped\n\n  getpublicip:\n    image: ghcr.io\u002Fgetpublicip\u002Fgetpublicip:latest\n    restart: unless-stopped\n    environment:\n      GETPUBLICIP_API_KEY: \"${GETPUBLICIP_API_KEY}\"\n      GETPUBLICIP_MAPPINGS: \"80\u002Ftcp->web:80; 443\u002Ftcp->web:443\"\n    cap_add:\n      - NET_ADMIN\n    devices:\n      - \u002Fdev\u002Fnet\u002Ftun\n    sysctls:\n      net.ipv4.ip_forward: 1\n      net.ipv4.conf.all.src_valid_mark: 1\n      net.ipv6.conf.all.forwarding: 1\n","yaml",[143,544,545,558,566,579,590,597,605,615,624,632,643,654,661,670,678,686,694,706,716],{"__ignoreMap":113},[546,547,550,554],"span",{"class":548,"line":549},"line",1,[546,551,553],{"class":552},"s8I7P","services",[546,555,557],{"class":556},"sCdxs",":\n",[546,559,561,564],{"class":548,"line":560},2,[546,562,563],{"class":552},"  web",[546,565,557],{"class":556},[546,567,569,572,575],{"class":548,"line":568},3,[546,570,571],{"class":552},"    image",[546,573,574],{"class":556},": ",[546,576,578],{"class":577},"s_Ekj","nginx:alpine\n",[546,580,582,585,587],{"class":548,"line":581},4,[546,583,584],{"class":552},"    restart",[546,586,574],{"class":556},[546,588,589],{"class":577},"unless-stopped\n",[546,591,593],{"class":548,"line":592},5,[546,594,596],{"emptyLinePlaceholder":595},true,"\n",[546,598,600,603],{"class":548,"line":599},6,[546,601,602],{"class":552},"  getpublicip",[546,604,557],{"class":556},[546,606,608,610,612],{"class":548,"line":607},7,[546,609,571],{"class":552},[546,611,574],{"class":556},[546,613,614],{"class":577},"ghcr.io\u002Fgetpublicip\u002Fgetpublicip:latest\n",[546,616,618,620,622],{"class":548,"line":617},8,[546,619,584],{"class":552},[546,621,574],{"class":556},[546,623,589],{"class":577},[546,625,627,630],{"class":548,"line":626},9,[546,628,629],{"class":552},"    environment",[546,631,557],{"class":556},[546,633,635,638,640],{"class":548,"line":634},10,[546,636,637],{"class":552},"      GETPUBLICIP_API_KEY",[546,639,574],{"class":556},[546,641,642],{"class":577},"\"${GETPUBLICIP_API_KEY}\"\n",[546,644,646,649,651],{"class":548,"line":645},11,[546,647,648],{"class":552},"      GETPUBLICIP_MAPPINGS",[546,650,574],{"class":556},[546,652,653],{"class":577},"\"80\u002Ftcp->web:80; 443\u002Ftcp->web:443\"\n",[546,655,656,659],{"class":548,"line":124},[546,657,658],{"class":552},"    cap_add",[546,660,557],{"class":556},[546,662,664,667],{"class":548,"line":663},13,[546,665,666],{"class":556},"      - ",[546,668,669],{"class":577},"NET_ADMIN\n",[546,671,673,676],{"class":548,"line":672},14,[546,674,675],{"class":552},"    devices",[546,677,557],{"class":556},[546,679,681,683],{"class":548,"line":680},15,[546,682,666],{"class":556},[546,684,685],{"class":577},"\u002Fdev\u002Fnet\u002Ftun\n",[546,687,689,692],{"class":548,"line":688},16,[546,690,691],{"class":552},"    sysctls",[546,693,557],{"class":556},[546,695,697,700,702],{"class":548,"line":696},17,[546,698,699],{"class":552},"      net.ipv4.ip_forward",[546,701,574],{"class":556},[546,703,705],{"class":704},"s7s5_","1\n",[546,707,709,712,714],{"class":548,"line":708},18,[546,710,711],{"class":552},"      net.ipv4.conf.all.src_valid_mark",[546,713,574],{"class":556},[546,715,705],{"class":704},[546,717,719,722,724],{"class":548,"line":718},19,[546,720,721],{"class":552},"      net.ipv6.conf.all.forwarding",[546,723,574],{"class":556},[546,725,705],{"class":704},[104,727,729,733,740,747,756],{"className":728,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,730,732],{"id":731},"warum-es-keine-ports-einträge-gibt","Warum es keine ports:-Einträge gibt",[96,734,735,736,739],{},"Sehen Sie sich ",[143,737,738],{},"web"," in dieser Datei noch einmal an. Der Service veröffentlicht nichts. In einem Leitfaden darüber, wie man Container erreichbar macht, lohnt es sich, hier kurz innezuhalten.",[96,741,742,743,746],{},"Datenverkehr für Ihre öffentliche Adresse kommt im Agent-Container an, auf der Tunnel-Schnittstelle. Der Agent wendet dann eine ",[99,744,745],{},"Destination-NAT","-Regel an: dieselbe Art von Regel, die Ihr Router bei einer Portfreigabe anwendet, nur dass sie im Container läuft statt am Rand Ihres Netzes. Sie ersetzt die Zieladresse des Pakets, also die öffentliche Adresse, durch die Adresse des Containers im Compose-Netz und reicht das Paket weiter.",[96,748,749,750,752,753,755],{},"Auf diesem Weg ist kein veröffentlichter Host-Port beteiligt. Der Port ist auf Ihrer öffentlichen IPv4-Adresse offen, nicht auf Ihrem Host und nicht an Ihrem Router. Ein Portscan Ihres Anschlusses zu Hause findet also nichts Neues, das lauscht. Ein ",[143,751,156],{},"-Eintrag bei ",[143,754,738],{}," würde den Service nur zusätzlich in Ihrem lokalen Netz veröffentlichen, meist das Gegenteil dessen, was Sie wollten.",[96,757,758],{},"Ziele werden als Servicenamen statt als Adressen angegeben, weil Compose die Container-Adressen nach eigenem Ermessen vergibt. Der Agent prüft diese Namen standardmäßig alle 30 Sekunden erneut, sodass ein Container, der nach einem Neustart eine andere Adresse hat, weiter erreichbar bleibt.",[104,760,762,766,777],{"className":761,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,763,765],{"id":764},"was-der-container-braucht-und-was-nicht","Was der Container braucht und was nicht",[96,767,768,769,772,773,776],{},"Drei Dinge, alle oben zu sehen: die Capability ",[143,770,771],{},"NET_ADMIN",", damit er die Tunnel-Schnittstelle und die Weiterleitungsregeln konfigurieren kann; das Gerät ",[143,774,775],{},"\u002Fdev\u002Fnet\u002Ftun",", das ist der Tunnel selbst; und die sysctls für die Weiterleitung, damit Datenverkehr, der auf dem Tunnel ankommt, an einen anderen Container weitergegeben werden kann.",[96,778,779,782,783,786],{},[143,780,781],{},"privileged: true"," braucht er nicht. Wenn ein Setup das verlangt, wird etwas umgangen statt konfiguriert. Ein WireGuard-Kernelmodul braucht er ebenfalls nicht: Das Image nutzt es, wenn der Kernel es anbietet, und weicht sonst auf das mitgelieferte Userspace-",[143,784,785],{},"wireguard-go"," aus.",[104,788,790,794,800,806,812],{"className":789,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,791,793],{"id":792},"was-sie-bekommen-das-die-tunnel-dienste-nicht-bieten","Was Sie bekommen, das die Tunnel-Dienste nicht bieten",[96,795,796,799],{},[99,797,798],{},"Jedes Protokoll, nicht nur HTTP."," Die Weiterleitung geschieht auf Paketebene, was darüber läuft, ist also Ihre Sache. Ein Minecraft-Server über UDP, ein Mailserver auf 25 und 587, SSH: Jedes davon ist dieselbe Art Mapping wie ein Webserver.",[96,801,802,805],{},[99,803,804],{},"Eine Adresse, die Ihnen gehört."," Kein Hostname auf geteilter Infrastruktur. Sie bleibt Ihre, wenn Sie den Stack auf einen anderen Rechner, zu einem anderen Anbieter oder in ein anderes Land umziehen, und DNS-Einträge, die darauf zeigen, überstehen den Umzug.",[96,807,808,811],{},[99,809,810],{},"Reverse DNS."," Weil die Adresse Ihnen zugeteilt ist, kann ein PTR-Eintrag für sie gesetzt werden. Die Zustellbarkeit von E-Mails hängt unbedingt davon ab, und deshalb sind Mailserver mit den anderen Ansätzen nicht machbar.",[96,813,814,817],{},[99,815,816],{},"Ihr TLS bleibt Ihres."," GetPublicIP leitet Pakete weiter und terminiert nie TLS, auf unserer Seite liegen also keine Zertifikate oder Schlüssel. Die Sitzung wird zwischen Ihrem Besucher und dem Container ausgehandelt, der sie bei Ihnen terminiert, und erst dort zum ersten Mal entschlüsselt. Dieser Service braucht ein eigenes gültiges Zertifikat, wie auf jedem öffentlichen Host.",[104,819,821,825],{"className":820,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,822,824],{"id":823},"typische-stolperfallen","Typische Stolperfallen",[116,826,120,827,120,843,120,853,120,867,120,885,120,906],{},[122,828,126,829,126,834,120],{"cols":124,"md":412},[414,830,833],{"style":831,"id":832},"font-size: 1.3rem !important; margin: 0 0 0.5rem !important;","ein-api-schlüssel-steuert-genau-einen-tunnel","Ein API-Schlüssel steuert genau einen Tunnel",[96,835,837,838,842],{"className":836,"style":140},[161],"Ein WireGuard-Schlüssel gehört zu genau einem Endpunkt. Zwei Container, die mit demselben API-Schlüssel gestartet werden, werfen sich daher gegenseitig vom Netz, und jeweils gewinnt der letzte Handshake. Das zeigt sich als sporadische Aussetzer statt als klare Fehlermeldung, mit einem verlässlichen Anzeichen: Beide Container starten immer wieder neu, weil jeder zu dem Schluss kommt, er sei der defekte. Erstellen Sie auf der ",[164,839,841],{"href":840},"\u002Fde\u002Fdocs\u002Fcreate-api-key","Seite zu API-Schlüsseln"," für jeden Tunnel einen eigenen Schlüssel.",[122,844,126,845,126,849,120],{"cols":124,"md":412},[414,846,848],{"style":831,"id":847},"restart-unless-stopped-ist-unverzichtbar","restart: unless-stopped ist unverzichtbar",[96,850,852],{"className":851,"style":140},[161],"Die meisten Unterbrechungen beheben sich von selbst. Bei den selteneren Fehlern, die ein Neuverbinden nicht löst, beendet sich der Agent bewusst, statt einen halb defekten Tunnel vor Ort zu reparieren, und verlässt sich darauf, dass Docker ihn neu startet. Ohne Restart-Policy hält er an und bleibt gestoppt.",[122,854,126,855,126,859,120],{"cols":124,"md":412},[414,856,858],{"style":831,"id":857},"ipv6-muss-im-netz-aktiviert-sein","IPv6 muss im Netz aktiviert sein",[96,860,862,863,866],{"className":861,"style":140},[161],"Docker-Bridge-Netze transportieren ohne weitere Angabe nur IPv4, ein Container in einem Standardnetz hat also keine IPv6-Adresse, an die weitergeleitet werden könnte. Setzen Sie ",[143,864,865],{},"enable_ipv6: true"," und ein IPv6-Subnetz, bevor Sie IPv6-Mappings hinzufügen.",[122,868,126,869,126,873,120],{"cols":124,"md":412},[414,870,872],{"style":831,"id":871},"windows-braucht-einen-wsl2-kernel-66","Windows braucht einen WSL2-Kernel 6.6",[96,874,876,877,880,881,884],{"className":875,"style":140},[161],"Docker Desktop betreibt Container in einer virtuellen WSL2-Maschine, und der Tunnel braucht ein Netfilter-Modul, das Kernel 5.15 nicht enthält. ",[143,878,879],{},"wsl --version"," zeigt, welche Version Sie haben, und ",[143,882,883],{},"wsl --update"," bringt Sie auf den neueren Stand.",[122,886,126,887,126,891,120],{"cols":124,"md":412},[414,888,890],{"style":831,"id":889},"ihre-container-sehen-den-agent-nicht-den-besucher","Ihre Container sehen den Agent, nicht den Besucher",[96,892,894,895,898,899,902,903,905],{"className":893,"style":140},[161],"Standardmäßig wird die Absenderadresse eingehenden Verkehrs durch die des Agents ersetzt, sodass jeder Besucher in Ihren Logs mit derselben lokalen Adresse erscheint. Das ist für Geolokalisierung, Rate Limiting und ",[143,896,897],{},"fail2ban"," relevant. ",[143,900,901],{},"GETPUBLICIP_PRESERVE_CLIENT_IP"," schaltet das Umschreiben ab und erfordert zusätzlich eine Routenänderung in jedem Ziel-Service: Sobald Antworten an echte Clients im Internet adressiert sind, entscheidet die Standardroute des Service, wohin sie gehen, nicht mehr sein eigenes Subnetz. Die ",[164,904,167],{"href":166}," beschreibt das; die Einstellung allein hinterlässt einen Service, der hängt, während die Logs weiter gesund aussehen.",[122,907,126,908,126,912,120],{"cols":124,"md":412},[414,909,911],{"style":831,"id":910},"unverschlüsseltes-http-bleibt-unverschlüsselt","Unverschlüsseltes HTTP bleibt unverschlüsselt",[96,913,915],{"className":914,"style":140},[161],"Der Tunnel verschlüsselt die Strecke zwischen unserem Edge und Ihrem Rechner. Für die Strecke zwischen Ihrem Besucher und der öffentlichen Adresse, also das Internet, tut er nichts. Liefern Sie HTTPS aus Ihrem eigenen Container aus.",[104,917,919,923,935,944,953,962,971],{"className":918,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,920,922],{"id":921},"häufig-gestellte-fragen","Häufig gestellte Fragen",[924,925,928,932],"details",{"className":926},[927],"faq-item",[929,930,931],"summary",{},"Wie mache ich einen Docker Container aus dem Internet erreichbar?",[96,933,934],{},"Es gibt vier praktikable Wege. Eine Portfreigabe funktioniert, wenn Ihr Internetanbieter Ihnen eine echte öffentliche IP-Adresse gibt und den Port nicht sperrt. Cloudflare Tunnel veröffentlicht HTTP und HTTPS über eine ausgehende Verbindung. Tailscale verbindet Ihre eigenen Geräte privat miteinander. Eine eigene öffentliche IP-Adresse leitet eine echte IPv4-Adresse über einen WireGuard-Tunnel an Ihren Stack weiter, transportiert jedes Protokoll und kommt ohne geöffnete Ports am Router aus.",[924,936,938,941],{"className":937},[927],[929,939,940],{},"Kann ein Docker Container eine eigene öffentliche IP-Adresse haben?",[96,942,943],{},"Nicht die Adresse Ihres Internetanbieters, denn die hält Ihr Router stellvertretend für alle Geräte dahinter. Sie können sich aber eine eigene öffentliche IPv4-Adresse über einen WireGuard-Tunnel auf den Rechner leiten lassen und von dort einzelne Ports anhand des Servicenamens an Container weiterleiten. Die Adresse gehört dann Ihnen, nicht einem einzelnen Container.",[924,945,947,950],{"className":946},[927],[929,948,949],{},"Kann ich einen Docker-Compose-Service ohne Portfreigabe erreichbar machen?",[96,951,952],{},"Ja. Ein Tunnel erreicht Ihren Stack über eine Verbindung, die Ihr Rechner nach außen aufbaut. Es gibt also keinen eingehenden Port, den Sie freigeben müssten, und am Router ist nichts zu ändern. Mit GetPublicIP brauchen die erreichbaren Services auch keine veröffentlichten Ports, weil der Datenverkehr auf der Tunnel-Schnittstelle ankommt und nicht an einem auf dem Host veröffentlichten Port.",[924,954,956,959],{"className":955},[927],[929,957,958],{},"Wie mache ich Docker Container erreichbar, wenn mein Anbieter CGNAT nutzt?",[96,960,961],{},"Bei Carrier-Grade NAT bekommt Ihr Router eine private statt einer öffentlichen Adresse, deshalb hilft keine Regel, die Sie zu Hause einrichten. Alles, was funktioniert, beruht auf einer ausgehenden Verbindung Ihres Rechners: Cloudflare Tunnel für HTTP und HTTPS, Tailscale für den privaten Zugriff zwischen Ihren eigenen Geräten, eine eigene öffentliche IP-Adresse für jedes Protokoll.",[924,963,965,968],{"className":964},[927],[929,966,967],{},"Braucht der GetPublicIP-Container den privileged-Modus?",[96,969,970],{},"Nein. Er braucht die Capability NET_ADMIN, das Gerät \u002Fdev\u002Fnet\u002Ftun und die sysctls für die Weiterleitung, sonst nichts. Ein WireGuard-Kernelmodul auf dem Host ist ebenfalls nicht nötig, denn das Image weicht auf die Userspace-Implementierung wireguard-go aus, wenn das Kernelmodul nicht verfügbar ist.",[924,972,974,977],{"className":973},[927],[929,975,976],{},"Funktioniert das unter Windows und macOS?",[96,978,979],{},"Ja, mit Docker Desktop, und die Compose-Datei ist auf allen drei Plattformen dieselbe. Unter macOS und Windows laufen Ihre Container in einer Linux-VM, daher stammt das Tunnel-Gerät aus dieser VM. Prüfen Sie unter Windows die Version des WSL2-Kernels: Version 5.15 fehlt ein Netfilter-Modul, das der Tunnel braucht, Version 6.6 bringt es mit.",[104,981,983,987],{"className":982,"rounded":113,"max-width":114},[107,108,109,110,111,112],[173,984,986],{"id":985},"wie-es-weitergeht","Wie es weitergeht",[96,988,989,990,992],{},"Wenn eine eigene öffentliche IP-Adresse zu dem passt, was Sie betreiben, finden Sie in der ",[164,991,167],{"href":166}," die vollständige Referenz: die gesamte Mapping-Syntax, ein funktionierendes Beispiel, IPv6, die Weiterleitung an einen Service auf dem Docker-Host und die Hinweise für die einzelnen Plattformen.",[994,995,996],"style",{},"html pre.shiki code .s8I7P, html code.shiki .s8I7P{--shiki-default:#F92672}html pre.shiki code .sCdxs, html code.shiki .sCdxs{--shiki-default:#F8F8F2}html pre.shiki code .s_Ekj, html code.shiki .s_Ekj{--shiki-default:#E6DB74}html pre.shiki code .s7s5_, html code.shiki .s7s5_{--shiki-default:#AE81FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":113,"searchDepth":560,"depth":560,"links":998},[999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011],{"id":175,"depth":560,"text":176},{"id":204,"depth":560,"text":205},{"id":252,"depth":560,"text":253},{"id":283,"depth":560,"text":284},{"id":406,"depth":560,"text":407},{"id":473,"depth":560,"text":474},{"id":506,"depth":560,"text":507},{"id":731,"depth":560,"text":732},{"id":764,"depth":560,"text":765},{"id":792,"depth":560,"text":793},{"id":823,"depth":560,"text":824},{"id":921,"depth":560,"text":922},{"id":985,"depth":560,"text":986},"2026-09-15","Docker Container ohne Portfreigabe und ohne Router-Änderung erreichbar machen, auch hinter CGNAT: Cloudflare Tunnel, Tailscale und eigene IP für Docker Compose.","md",[1016,1017,1018,1019,1020,1021],{"question":931,"answer":934},{"question":940,"answer":943},{"question":949,"answer":952},{"question":958,"answer":961},{"question":967,"answer":970},{"question":976,"answer":979},{},{"title":1024,"icon":48,"description":1025},"Docker Container im Internet erreichbar machen","Vier Wege, einen Docker-Compose-Stack aus dem Internet erreichbar zu machen, und warum eine eigene öffentliche IP-Adresse ganz ohne veröffentlichte Ports auskommt.",{"title":82,"description":1013},"guides\u002Fself-hosting\u002Fexpose-docker-containers-to-the-internet","2026-10-13","S4c9mk7-jXS_94kW81dpeIGQoxzUPn2BNDQxD6Cm06k",[1031,1046,1087,1100],{"path":15,"title":1032,"icon":1033,"children":1034},"Öffentliche IP herausfinden","mdi-folder",[1035,1041],{"path":12,"title":1036,"navigation":1037},"Öffentliche IP unter Linux herausfinden: ein curl-Befehl",{"title":1038,"icon":1039,"description":1040},"IP-Adresse unter Linux herausfinden","mdi-penguin","Öffentliche und lokale IP-Adresse unter Linux mit curl, wget, dig und Bordmitteln herausfinden.",{"path":14,"title":1042,"navigation":1043},"IP-Adresse herausfinden unter Windows (CMD & PowerShell)",{"title":1044,"icon":44,"description":1045},"IP-Adresse unter Windows herausfinden","Öffentliche und lokale IP-Adresse unter Windows mit PowerShell und Eingabeaufforderung herausfinden.",{"path":1047,"title":1048,"icon":1033,"children":1049},"\u002Fguides\u002Fself-hosting","Eigener Server",[1050,1056,1058,1063,1069,1075,1081],{"path":56,"title":1051,"navigation":1052},"DynDNS hinter CGNAT und DS-Lite: Warum es nicht klappt",{"title":1053,"icon":1054,"description":1055},"DynDNS hinter CGNAT und DS-Lite","mdi-dns-outline","Warum DynDNS, MyFRITZ!, DuckDNS und No-IP hinter CGNAT und DS-Lite nur über IPv6 funktionieren und welche Alternativen Sie haben.",{"path":17,"title":82,"navigation":1057},{"title":1024,"icon":48,"description":1025},{"path":18,"title":1059,"navigation":1060},"Homeserver von außen erreichbar machen: 5 Wege (2026)",{"title":499,"icon":1061,"description":1062},"mdi-server-network","Fünf realistische Wege, Ihren Heimserver aus dem Internet erreichbar zu machen – von der Portfreigabe bis zur eigenen öffentlichen IP-Adresse.",{"path":57,"title":1064,"navigation":1065},"FRITZ!Box Portfreigabe geht nicht? DS-Lite erklärt",{"title":1066,"icon":1067,"description":1068},"FRITZ!Box Portfreigabe und DS-Lite","mdi-router-wireless","Warum Portfreigabe und MyFRITZ! hinter DS-Lite nicht funktionieren, wie Sie DS-Lite in der FRITZ!Box erkennen und welche Lösungen es gibt.",{"path":19,"title":1070,"navigation":1071},"GetPublicIP vs Cloudflare Tunnel vs Tailscale im Vergleich",{"title":1072,"icon":1073,"description":1074},"GetPublicIP vs Cloudflare vs Tailscale","mdi-compare","GetPublicIP, Cloudflare Tunnel und Tailscale im Vergleich für Server zu Hause oder im Büro.",{"path":21,"title":1076,"navigation":1077},"Portfreigabe funktioniert nicht? 6 Ursachen & Lösungen",{"title":1078,"icon":1079,"description":1080},"Portfreigabe funktioniert nicht?","mdi-lan-disconnect","Die 6 häufigsten Gründe, warum eine Portfreigabe scheitert, und wie Sie jeden beheben – einschließlich des versteckten CGNAT-Problems.",{"path":22,"title":1082,"navigation":1083},"Eigener Server hinter CGNAT: CGNAT umgehen (2026)",{"title":1084,"icon":1085,"description":1086},"Was ist Carrier-Grade NAT?","mdi-lan-pending","Was CGNAT ist, wie Sie prüfen, ob Sie betroffen sind, welche Anbieter es einsetzen und wie Sie mit einer echten öffentlichen IP trotzdem einen eigenen Server betreiben.",{"path":26,"title":1088,"icon":1033,"children":1089},"Feste öffentliche IP-Adresse",[1090,1095],{"path":24,"title":1091,"navigation":1092},"Öffentliche IP-Adresse bekommen: 4 Methoden (2026)",{"title":245,"icon":1093,"description":1094},"mdi-earth","Was eine öffentliche IP ist, wie Sie Ihre prüfen und 4 Wege zu einer eigenen öffentlichen IP fürs Self-Hosting.",{"path":25,"title":1096,"navigation":1097},"So bekommen Sie eine feste IP-Adresse",{"title":1096,"icon":1098,"description":1099},"mdi-ip-network","Was eine feste IP-Adresse ist, welche Möglichkeiten Sie haben, eine zu bekommen, und welcher Weg der beste ist.",{"path":1101,"title":1102,"icon":1033,"children":1103},"\u002Fguides\u002Fuse-cases","Anwendungsfälle",[1104,1110],{"path":27,"title":1105,"navigation":1106},"Homeserver von außen erreichbar – mit fester IP",{"title":1107,"icon":1108,"description":1109},"Heimserver mit fester IP","mdi-home-account","Bauen Sie Ihre eigene, unabhängige Cloud auf. Erhalten Sie eine öffentliche IP-Adresse direkt auf Ihrem Heimserver und betreiben Sie eigene E-Mail- und Chatdienste.",{"path":28,"title":1111,"navigation":1112},"Server im Büro mit fester IP – Lösungen & Vorteile",{"title":1113,"icon":1061,"description":1114},"Server im Büro","Erfahren Sie, warum vorausschauende Unternehmen bestimmte Workloads zurück ins Büro holen: weniger Cloud-Ausgaben und mehr Agilität.",1793914058139]