Hi all. Noob question/s here. I want to be able to access my Immich server (docker) externally and maybe set up some others (e.g. Mealio). My understanding is that I need (should) use NGINX reverse proxy for this. My questions are:
-
Do I need to set up NGINX on a VPS (or similar cloud based server) to send the queries to my home box?
-
Do I need to purchase a domain (randomblahblah.xyz) to use as the main access route from outside my house?
Thanks a lot.
- If you’ve a public IP address at your home and you can setup port forwards at your router then you don’t need a VPS.
- Check the post by @dataprolet@lemmy.world
Thanks, I’m going to try this.
- No, the reverse proxy should be running in your home network and redirects queries it gets on the usual http(s) ports to your applications.
- No, you just need a DynDNS service which provides you with a basic domain like myfancyserver.dyndnsprovider.com.
My recommendation for a free dynamic DNS service goes for https://freedns.afraid.org/
Thanks. Annoyingly, perhaps, I’ve just signed up for a year of NextDNS.
Thanks. I’m still a bit confused about the domain stuff, but I’m looking into it.
I’m still relatively new to NGINX Proxy Manager myself, but I’ll give your questions a shot. It doesn’t matter how (or where) you host your proxy instance, what matters is that the requests can get to it so that it can forward them to the correct resources. So simple answer to question one is no you can host locally.
If you host it locally you need to make sure that you forward requests that come into your network on to the proxy to be routed correctly. This is where port forwarding comes into play. You’ll need to set your router to take any requests that come in on port 80 or 443 (HTTP and HTTPS) and send those to your proxy.
As for question two do you need to purchase a domain. You can use a free domain name or you can pay for one that part doesn’t matter. The domain isn’t a technical requirement until you want to start hardening your instances with SSL. To get a cert you’ll need a domain. But if you set up your port forwarding and a proxy you could send a request to some_subdomain.123.456.789.123:80 (your external IP) and the proxy server will take thar request and translate it to the local server mapped to some_subdomain.
Thanks, I’m going to try the port forwarding part. That seems like the simplest step. NPM looks very useful though.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System HTTP Hypertext Transfer Protocol, the Web HTTPS HTTP over SSL IP Internet Protocol Plex Brand of media server package SSL Secure Sockets Layer, for transparent encryption VPS Virtual Private Server (opposed to shared hosting)
7 acronyms in this thread; the most compressed thread commented on today has 3 acronyms.
[Thread #86 for this sub, first seen 28th Aug 2023, 12:15] [FAQ] [Full list] [Contact] [Source code]
Just use Cloudflare Tunnels if you’re opening it up to the Internet.
Use tailscale if only using your own personal devices.
Both easy to setup in 5 minutes.
Why keep giving cloudflare a monopoly of the internet traffic? Isn’t the whole self-hosting movement about breaking out of the tech giants’ shenanigans and promoting a healthy alternative with a decentralized and robust internet?
I honestly don’t care. I just self host as a way to not be locked into google specifically. So if I ever do decide to switch to something else outside of Cloudflare or Tailscale, I can. By the way, I tried to set up Wireguard and I felt like I had to have a degree in engineering to get it to work. Then I tried wg-easy and that didn’t work. Went to the github and seen it had like 300 issues. I like stuff that just works and I don’t have to spend hours tinkering with.
Replying to my own comment to say thanks again for all the tips and advice. I got it all sorted with Tailscale. The final piece of the puzzle!
Also for ease of use and management try out https://nginxproxymanager.com/
This looks really useful. Thanks!