[{"data":1,"prerenderedAt":661},["ShallowReactive",2],{"content-index":3,"doc-en-unraid":87},{"en":4,"de":59,"es":73},{"paths":5,"docs":30},[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"\u002Fdocs\u002Fgetting-started","\u002Fdocs\u002Flinux","\u002Fdocs\u002Fmacos","\u002Fdocs\u002Fwindows","\u002Fdocs\u002Fdocker","\u002Fdocs\u002Funraid","\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",[31,35,39,43,47,51,55],{"path":6,"title":32,"icon":33,"stem":34},"Getting Started","mdi-file-document-outline","docs\u002F1.getting-started",{"path":7,"title":36,"icon":37,"stem":38},"Linux","mdi-linux","docs\u002F2.linux",{"path":8,"title":40,"icon":41,"stem":42},"macOS","mdi-apple","docs\u002F3.macos",{"path":9,"title":44,"icon":45,"stem":46},"Windows","mdi-microsoft-windows","docs\u002F3.windows",{"path":10,"title":48,"icon":49,"stem":50},"Docker","mdi-docker","docs\u002F4.docker",{"path":11,"title":52,"icon":53,"stem":54},"Unraid","mdi-server","docs\u002F4.unraid",{"path":12,"title":56,"icon":57,"stem":58},"Create API Key","mdi-key","docs\u002F5.create-api-key",{"paths":60,"docs":63},[6,7,8,9,10,11,12,13,15,16,61,18,19,62,20,22,23,25,26,27,28,29],"\u002Fguides\u002Fself-hosting\u002Fdyndns-hinter-cgnat","\u002Fguides\u002Fself-hosting\u002Ffritzbox-portfreigabe-ds-lite",[64,66,67,68,69,70,71],{"path":6,"title":65,"icon":33,"stem":34},"Erste Schritte",{"path":7,"title":36,"icon":37,"stem":38},{"path":8,"title":40,"icon":41,"stem":42},{"path":9,"title":44,"icon":45,"stem":46},{"path":10,"title":48,"icon":49,"stem":50},{"path":11,"title":52,"icon":53,"stem":54},{"path":12,"title":72,"icon":57,"stem":58},"API-Schlüssel erstellen",{"paths":74,"docs":77},[6,7,8,9,10,11,12,13,15,16,75,76,18,19,20,22,23,25,26,27,28,29],"\u002Fguides\u002Fself-hosting\u002Fcomo-saber-si-tengo-cgnat","\u002Fguides\u002Fself-hosting\u002Fddns-detras-de-cgnat",[78,80,81,82,83,84,85],{"path":6,"title":79,"icon":33,"stem":34},"Primeros pasos",{"path":7,"title":36,"icon":37,"stem":38},{"path":8,"title":40,"icon":41,"stem":42},{"path":9,"title":44,"icon":45,"stem":46},{"path":10,"title":48,"icon":49,"stem":50},{"path":11,"title":52,"icon":53,"stem":54},{"path":12,"title":86,"icon":57,"stem":58},"Crear clave API",{"id":88,"title":89,"body":90,"createdAt":634,"description":635,"extension":636,"faq":637,"meta":656,"navigation":657,"path":11,"seo":659,"stem":54,"updatedAt":634,"__hash__":660},"content_en\u002Fdocs\u002F4.unraid.md","Set Up a Public IP on Unraid",{"type":91,"value":92,"toc":618},"minimark",[93,97,101,115,118,123,143,147,193,197,200,206,232,304,311,317,322,397,403,413,430,434,437,456,462,466,476,487,491,494,505,509,516,536,542,545,548,552,560,564,611],[94,95,52],"h1",{"id":96},"unraid",[98,99,100],"p",{},"The GetPublicIP plugin forwards ports on your public IP address to the apps on your Unraid server, and to other devices on your network. It adds a settings page where you choose each app and port from a list, and runs GetPublicIP as a container next to your other apps.",[102,103,104],"blockquote",{},[98,105,106,107,114],{},"The plugin is in beta. If something doesn't work, ",[108,109,113],"a",{"className":110,"href":112},[111],"link","\u002Fcontact-us","contact us"," and tell us what happened.",[116,117],"docs-toc",{},[119,120,122],"h2",{"id":121},"before-you-start","Before you start",[124,125,126,130,137,140],"ul",{},[127,128,129],"li",{},"Unraid 7.0 or later.",[127,131,132,133,136],{},"Your IP address's API key. See ",[108,134,135],{"href":12},"Create an API Key",".",[127,138,139],{},"Docker turned on, in Settings › Docker.",[127,141,142],{},"The key not in use anywhere else. One key runs one tunnel: if another computer or Docker host uses it, stop GetPublicIP there first.",[119,144,146],{"id":145},"install-the-plugin","Install the plugin",[148,149,150,153,181],"ol",{},[127,151,152],{},"In Unraid, open the Plugins tab and choose Install Plugin.",[127,154,155,156,160,161,171,174],{},"Paste this address and click ",[157,158,159],"code",{},"Install",":",[162,163,169],"pre",{"className":164,"code":166,"language":167,"meta":168},[165],"language-text","https:\u002F\u002Frepo.getpublicip.com\u002Funraid\u002Fgetpublicip.plg\n","text","",[157,170,166],{"__ignoreMap":168},[172,173],"br",{},[175,176],"img",{"alt":177,"quality":178,"src":179,"width":180},"The Install Plugin tab, with the GetPublicIP plugin's address in the URL field and the Install button next to Force Install","80","\u002Fimages\u002Funraid\u002Finstall-plugin.png",700,[127,182,183,184,136,187,189],{},"When the window says GetPublicIP is installed, click ",[157,185,186],{},"Done",[172,188],{},[175,190],{"alt":191,"quality":178,"src":192,"width":180},"The finished Install Plugin window, saying GetPublicIP 2026.11.07 is installed and to open Settings › Network Services › GetPublicIP, with the Done button","\u002Fimages\u002Funraid\u002Fplugin-installed.png",[119,194,196],{"id":195},"set-it-up","Set it up",[98,198,199],{},"Open Settings › Network Services › GetPublicIP.",[98,201,202],{},[175,203],{"alt":204,"quality":178,"src":205,"width":180},"The Network Services section of Unraid's Settings tab, with the GetPublicIP icon between FTP Server and Outgoing Proxy Manager","\u002Fimages\u002Funraid\u002Fnetwork-services.png",[148,207,208,211,224,227],{},[127,209,210],{},"Paste your API key under API key.",[127,212,213,214,217,218,220],{},"Click ",[157,215,216],{},"Add mapping"," and fill in the row, as in the table below. Add a row for each port you want to forward.",[172,219],{},[175,221],{"alt":222,"quality":178,"src":223,"width":180},"The Port mappings table with two rows, Jellyfin on public port 8096 and a new row for Jellyfin on public port 8920, each with its Goes to address filled in","\u002Fimages\u002Funraid\u002Fmapping-add.png",[127,225,226],{},"Leave Autostart on, so GetPublicIP starts again after a reboot.",[127,228,213,229,136],{},[157,230,231],{},"Apply",[233,234,235,248],"table",{},[236,237,238],"thead",{},[239,240,241,245],"tr",{},[242,243,244],"th",{},"Column",[242,246,247],{},"What to enter",[249,250,251,264,276,284,296],"tbody",{},[239,252,253,257],{},[254,255,256],"td",{},"App",[254,258,259,260,263],{},"The app and port the mapping goes to. The list shows the apps on your server and their ports. Choose ",[157,261,262],{},"Other destination"," for anything else.",[239,265,266,269],{},[254,267,268],{},"Public port",[254,270,271,272,275],{},"The port visitors connect to on your public IP address. A range, such as ",[157,273,274],{},"60000-60099",", forwards each port to the same port.",[239,277,278,281],{},[254,279,280],{},"Protocol",[254,282,283],{},"TCP, UDP or both.",[239,285,286,289],{},[254,287,288],{},"IP version",[254,290,291,292,136],{},"IPv4. See ",[108,293,295],{"href":294},"#ipv6","IPv6",[239,297,298,301],{},[254,299,300],{},"Goes to",[254,302,303],{},"Filled in for you from the app you chose.",[98,305,306,307,310],{},"The page creates the GetPublicIP container, which then appears on the Docker tab. Once the tunnel is up, usually within a few seconds, Status says ",[157,308,309],{},"Connected"," and shows your public address.",[98,312,313],{},[175,314],{"alt":315,"quality":178,"src":316,"width":180},"The GetPublicIP page while connected: Status with the address it's connected to, its public addresses and the agent version, the saved API key, a mapping to Jellyfin with a green tick in the Check column, and the Apply and Reset buttons","\u002Fimages\u002Funraid\u002Fsettings.png",[318,319,321],"h3",{"id":320},"which-apps-are-listed","Which apps are listed",[233,323,324,337],{},[236,325,326],{},[239,327,328,331,334],{},[242,329,330],{},"The app",[242,332,333],{},"In the list",[242,335,336],{},"Notes",[249,338,339,349,360,371,384],{},[239,340,341,344,347],{},[254,342,343],{},"On the host network",[254,345,346],{},"Yes",[254,348],{},[239,350,351,354,357],{},[254,352,353],{},"On a bridge network, with its port published on your server",[254,355,356],{},"Yes, as the port it publishes",[254,358,359],{},"Most Unraid apps are set up like this.",[239,361,362,365,368],{},[254,363,364],{},"On a bridge network, with its port not published",[254,366,367],{},"Greyed out",[254,369,370],{},"Publish the port in the app's settings on the Docker tab, or put the app on the host network.",[239,372,373,379,381],{},[254,374,375,376],{},"With its own address on ",[157,377,378],{},"br0",[254,380,346],{},[254,382,383],{},"Needs host access to custom networks, below.",[239,385,386,389,394],{},[254,387,388],{},"A VM, or another device on your network",[254,390,391,392],{},"Choose ",[157,393,262],{},[254,395,396],{},"Enter its IPv4 address and port.",[98,398,399],{},[175,400],{"alt":401,"quality":178,"src":402,"width":180},"A second mapping with Other destination chosen, sending public port 8080 to port 8080 at 192.168.1.50","\u002Fimages\u002Funraid\u002Fmapping-other-destination.png",[98,404,405,406,408,409,412],{},"Unraid keeps apps with their own address on ",[157,407,378],{}," apart from the server itself, and GetPublicIP reaches them through the server. Until you turn on host access to custom networks, their mappings fail with ",[157,410,411],{},"no route to host",", and the page warns you next to the app. To turn it on:",[148,414,415,420,425],{},[127,416,417,418,136],{},"Go to Settings › Docker, set Enable Docker to No, and click ",[157,419,231],{},[127,421,422,423,136],{},"Switch on Advanced View, set Host access to custom networks to Enabled, and click ",[157,424,231],{},[127,426,427,428,136],{},"Set Enable Docker back to Yes and click ",[157,429,231],{},[318,431,433],{"id":432},"the-check-column","The Check column",[98,435,436],{},"After you apply, the page asks GetPublicIP whether each mapping reaches its app:",[124,438,439,442],{},[127,440,441],{},"A green tick: the app answered.",[127,443,444,445,448,449,452,453,136],{},"A red cross: it didn't, and the reason is under the row. ",[157,446,447],{},"nothing listens"," means the app is stopped, or listens on a different port. An app inside a container must listen on ",[157,450,451],{},"0.0.0.0",", not ",[157,454,455],{},"127.0.0.1",[98,457,213,458,461],{},[157,459,460],{},"Check"," under Status to check again, for example after starting an app.",[119,463,465],{"id":464},"changing-your-mappings","Changing your mappings",[98,467,468,469,471,472,475],{},"Change the table and click ",[157,470,231],{},". ",[157,473,474],{},"Reset"," discards changes you haven't applied. Applying re-creates the GetPublicIP container, so your public address stops answering for a few seconds.",[98,477,478,479,482,483,486],{},"If you apply again within a minute or two of a change, Status can say ",[157,480,481],{},"Restarting"," for about a minute. Your address is still applying the earlier change, and GetPublicIP starts again on its own once it has. Click ",[157,484,485],{},"Log"," to see what it's doing.",[119,488,490],{"id":489},"updates","Updates",[98,492,493],{},"The plugin updates from the Plugins tab, like your other plugins.",[98,495,496,497,500,501,504],{},"GetPublicIP itself runs from a container image, which has updates of its own. Status shows its version and whether a newer one is out, from the same check the Docker tab makes. ",[157,498,499],{},"Check for updates"," checks now, and ",[157,502,503],{},"Update"," downloads the new version and restarts GetPublicIP with your settings. Updating from the Docker tab does the same.",[119,506,508],{"id":507},"tunnel-mtu","Tunnel MTU",[98,510,511,512,515],{},"Leave this empty unless the tunnel is up but nothing gets through it. That happens when your connection carries smaller packets than the tunnel needs: the log shows ",[157,513,514],{},"TLS handshake timeout",", and your mappings never take effect. When the page sees this, it suggests a value.",[148,517,518,521],{},[127,519,520],{},"Open Advanced, under the table.",[127,522,523,524,527,528,136,530,532],{},"Set Tunnel MTU to ",[157,525,526],{},"1280"," and click ",[157,529,231],{},[172,531],{},[175,533],{"alt":534,"quality":178,"src":535,"width":180},"The Advanced section open, with 1280 entered under Tunnel MTU, the tunnel's current MTU of 1396 below it, and the Apply button","\u002Fimages\u002Funraid\u002Ftunnel-mtu.png",[98,537,538,539,541],{},"After the next check, the page shows the tunnel's MTU. If GetPublicIP is too old for this setting, the page says so: click ",[157,540,503],{}," under Status.",[119,543,295],{"id":544},"ipv6",[98,546,547],{},"GetPublicIP reaches the apps on your server and the devices on your network by their IPv4 addresses. So mappings to them are IPv4 only: visitors reach them on your public IPv4 address, and the page doesn't offer IPv6 for them.",[119,549,551],{"id":550},"remove-getpublicip","Remove GetPublicIP",[148,553,554,557],{},[127,555,556],{},"On the Plugins tab, remove the GetPublicIP plugin. The GetPublicIP container stays and keeps running.",[127,558,559],{},"To stop using GetPublicIP, remove the GetPublicIP container from the Docker tab as well.",[119,561,563],{"id":562},"troubleshooting","Troubleshooting",[124,565,566,582,594,605],{},[127,567,568,578,579,581],{},[569,570,571,572,575,576,136],"strong",{},"Status says ",[157,573,574],{},"Not connected"," or ",[157,577,481],{}," Click ",[157,580,485],{},": the log says what went wrong. Right after a change, give it a minute or two.",[127,583,584,587,588,590,591,593],{},[569,585,586],{},"A mapping's check is red."," Read the reason under its row. Most often the app is stopped, listens on ",[157,589,455],{}," only, or is on ",[157,592,378],{}," without host access.",[127,595,596,601,602,136],{},[569,597,598,599,136],{},"The tunnel is up, but the log shows ",[157,600,514],{}," Set ",[108,603,508],{"href":604},"#tunnel-mtu",[127,606,607,610],{},[569,608,609],{},"Both this server and another computer keep reconnecting."," They're using the same API key. Use one key per server.",[98,612,613,614,617],{},"If you're still stuck, ",[108,615,113],{"className":616,"href":112},[111]," with the log.",{"title":168,"searchDepth":619,"depth":619,"links":620},2,[621,622,623,628,629,630,631,632,633],{"id":121,"depth":619,"text":122},{"id":145,"depth":619,"text":146},{"id":195,"depth":619,"text":196,"children":624},[625,627],{"id":320,"depth":626,"text":321},3,{"id":432,"depth":626,"text":433},{"id":464,"depth":619,"text":465},{"id":489,"depth":619,"text":490},{"id":507,"depth":619,"text":508},{"id":544,"depth":619,"text":295},{"id":550,"depth":619,"text":551},{"id":562,"depth":619,"text":563},"2026-11-07","Forward ports on your public IP address to apps on your Unraid server with the GetPublicIP plugin (beta). Install it, enter your API key, and choose your apps and ports.","md",[638,641,644,647,650,653],{"question":639,"answer":640},"Is the GetPublicIP plugin in Community Applications?","No. Install it from Plugins › Install Plugin with `https:\u002F\u002Frepo.getpublicip.com\u002Funraid\u002Fgetpublicip.plg`. Unraid checks that address for new versions of the plugin, as it does for every plugin.",{"question":642,"answer":643},"Do I need to publish ports on my apps?","Only for apps on a bridge network. GetPublicIP reaches those through the port they publish on your server, which most Unraid apps do already. Apps on the host network and apps with their own address on `br0` need nothing published.",{"question":645,"answer":646},"Can visitors reach my Unraid apps over IPv6?","Not yet. GetPublicIP reaches the apps on your server and the devices on your network by their IPv4 addresses, so these mappings are IPv4 only and the plugin doesn't offer IPv6 for them.",{"question":648,"answer":649},"Where is my API key kept?","In the GetPublicIP container's settings on your Unraid flash drive, like the settings of every other container. The plugin's page never shows it again once it's saved.",{"question":651,"answer":652},"What happens to GetPublicIP if I remove the plugin?","Nothing. The GetPublicIP container and its settings stay, and it keeps running. Remove it from the Docker tab if you no longer want it.",{"question":654,"answer":655},"Can I use the same API key on another computer as well?","No. A key runs one tunnel. Two servers using the same key knock each other offline, and both keep restarting. Use one key per server.",{},{"title":52,"icon":53,"description":658},"Forward ports on your public IP address to apps on your Unraid server.",{"title":89,"description":635},"o1XD-e2VA7GqtLS0YBAZLKbcTqZgKo3aDkdrRDoRfuM",1794186861973]