I’m using Heimdall to easily access my self hosted stuff ATM. I would like for my family to use them too if they’re so inclined, but there’s no way they will be able to remember the IP addresses, I know I can’t!

Is it a DNS I’m looking for? If so, I’m already hosting a couple of instances of Adguard, can I just set it so that Plex is 192.xxx.x.47 and snapdrop is 192.xxx.x.53 and use that to resolve the request so my 13 year old can just type Plex into his browser and find it?

Or do I need something like Caddy or Nginx or something in between?

Thanks for any advice.

30 points
*

DNS is what you’re looking for. To keep it simple and in one place (your adguard instance), you can add local dns entries under Filters > DNS Rewrites in the format below:

192.xxx.x.47 plex.yourdomain.xyz
192.xxx.x.53 snapdrop.yourdomain.xyz
permalink
report
reply
5 points

Excellent news, at least I know where to start now. I wanna play with all the network things and learn, but I also wanna just have it sorted in 5 minutes of hacking

permalink
report
parent
reply
4 points

Its that simple to use different IPs just with DNS server:

DNS server

192.xxx.x.47 -> plex.yourdomain.xyz
192.xxx.x.53 -> snapdrop.yourdomain.xyz

But dont you have your services on the same IP and different ports? If thats the case you will also need reverse proxy like nginx. So DNS server will point your domain name (you can just make a name for local use) to your server IP. Then reverse proxy can point each name to a specific IP and port.

Reverse proxy

192.xxx.x.47:32400 -> plex.yourdomain.xyz
192.xxx.x.47:8080 -> snapdrop.yourdomain.xyz
permalink
report
parent
reply
2 points

I don’t know why you were downvoted for this, you’re right and I figured this out for myself last night when I decided to try figure it out at 1.30am after 3 beers.

I managed to get all my port 80 stuff sorted but my Arr stack for example needs something more, probably the dreaded nginx…

I’m having a look at Caddy now because I’ve never used it before, Nginx I didn’t like when I used it and I’ve recently heard the original developer has left the project and started a new one.

permalink
report
parent
reply
9 points

Yes, you can setup a DNS server to redirect these requisitions to the servers. However you’ll have to make sure that every single device is using the DNS server you configured.

You can also configure avahi (on linux) or other zeroconf (you must find out what zeroconf each other system have, cause I don’t know) to recognize local hostnames as mDNS

I use avahi to discover my octopi.local in my network and it works like a charm

permalink
report
reply
3 points
*

I have my router point everything through my DNS servers, a main one and a backup on a pi3b, so that shouldn’t be an issue.

Except for Wifey. She hates ad blocking with a passion, so I’ve set her phones to use Google DNS servers.

Wifey also does not care one jot for what I’m playing with, it’s mainly my 13 year old ATM. Wifey likes having TV shows appear when they air in the States and that’s it.

She’s an odd one but I love her a great deal.

I shall have a look into avahi just because I’ve heard of it but never known what it actually does. Thanks

permalink
report
parent
reply
6 points
*

With AdGuard Home you can set your wife’s devices to bypass protection. Just set her devices to static ip and set a custom rule like:

@@||*^$client=127.0.0.1

Where 127.0.0.1 must be changed for her ip address. This rule means:

@@|| = unblock
*^ = everything
$client = for this client

permalink
report
parent
reply
3 points
*

Wow, I’m glad you speak Adguard, thanks for this. She does surveys for Amazon vouchers and buys Christmas presents and shoes with them, and the filters stop the surveys. She got quite mad with me.

permalink
report
parent
reply
1 point

AdGuard Home supports static clients. Unless the instance is being used over TCP (port 53, unencrypted), it is by far the better way to use clientnames in the DNS server addresses and unblock the clients over that.

For DoT: clientname.dns.yourdomain.com
For DoH: https://dns.yourdomain.com/dns-query/clientname

A client, especially a mobile one, can simply not guarantee always having the same IP address.

permalink
report
parent
reply
1 point
*

Avahi basically broadcasts to the whole network “hello there, my name is some-cool-domain.local”. When you request that address, your router checks if someone broadcasts that name and uses their IP if so.

permalink
report
parent
reply
5 points

I use Heimdall too, with a bunch of other things. One of them is Pihole.

Pihole will not only help blocking ads at DNS level, it will also work as DHCP server and resolve localy configured addresses, like homepage.ourhome.

Put it on your network and disable the DHCP feature in your WiFi router/firewall (you may need to explicitly set it to forward DHCP to Pihole).

One warning, do not set up names like host.local. the TLD .local is reserved it will cause issues.

permalink
report
reply
5 points
*

Awesome.

Adguard and piHole share a lot of features and I’ve spent time with both of them. I liked phole a lot but I have kids and one feature I liked about Adguard was that I could set up groups (so the kids get a group and essential services get another) and I could in theory just switch off internet to the kids’ devices as a punishment, or even services like Fortnite or whatever.

So that’s why I picked Adguard.

Now before I bought my server pc I bought an old Nighthawk router/modem on eBay specifically because I could use it to replace my ISP router that was locked down (seriously, everyone in the building uses this ISP and all the WiFi bands are the same!) I can lock devices out of the WiFi with that now if I do desire, but honestly the threat is enough so far lol.

First thing I did was send DNS to Adguard. I have run DHCP through Adguard before and it just jammed up and worked a bunch of times until I had to change it back or withstand ear bashings from my 10 year old because it kept killing his online gaming.

So as far as I can see, I don’t have to use the DHCP feature to resolve the names to ip addresses, since the IP address resolves to the name via a domain name server, DNS, the Adguard, right?

I was considering .Lan but I like your .ourhome idea. We live in an old church and have The-Crypt (it was gonna be de-crypt but I changed my mind last minute) as the WiFi address so .crypt is sounding good.

permalink
report
parent
reply
2 points
*

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
Git Popular version control system, primarily for code
HA Home Assistant automation software
~ High Availability
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
NAS Network-Attached Storage
Plex Brand of media server package
SSL Secure Sockets Layer, for transparent encryption
SSO Single Sign-On
TCP Transmission Control Protocol, most often over IP
nginx Popular HTTP server

[Thread #605 for this sub, first seen 15th Mar 2024, 20:05] [FAQ] [Full list] [Contact] [Source code]

permalink
report
reply
2 points

A proxy is the easy way in my opinion. You can also do straight up DNS, point your dns server to each of your IP addresses, which is by far simpler, but I prefer the nginx/caddy route.

NGinx will also handle things like SSL for you, which you can terminate at the proxy and make life a lot easier for you. So you can do things like register a domain, set up nginx to handle the certs for you, and then no more errors on “insecure connection”, even if each underlying service is only using http. Plex was specifically nice getting that up, so I could finally do plex.my.domain.whatever and have it be nice and https. Inside the house it’s nice, outside the house it’s even greater, especially because a proxy can route those ports for you. So plex.my.domain.whatever goes to Plex, and tautulli goes to tautulli, etc…

permalink
report
reply
1 point

I WANT to learn how to do all that stuff properly but it hurts my brain. I WILL learn it at some point.

But I have a domain with Cloudflare and found that far simpler than DuckDNS and Nginx .

I intend to look into Nginx and caddy and learn them, it annoys me that it makes my eyes cross, but if I can just use Adguard for now then I shall do that, for now.

I’m at a point where I know that the IT manager at work is a bit shit because the internal addresses at work have no certificate, but also that I’m not better because it makes my eyes cross too. I’ve done it before but I don’t know how I did it, it was a lot of poking.

permalink
report
parent
reply
1 point

nginx is a beast, I haven’t used Caddy. What I’d say to a newcomer is stick to the plan, just do it step by step. Don’t go looking to build a 30-service massive 1000 line nginx file immediately. Start small.

  • Get the proxy running. Celebrate, have a beer.
  • Proxy a single service through your new proxy. Celebrate, take a break.
  • Proxy a second service through the proxy,.
  • Set up SSL for those services.
  • Set up each service individually.

Trying to do it all at once will make you go crazy, I made that mistake. Focus on one small thing at a time, slowly adding to your config, that’ll make it easier. Also make backups, or better yet store the conf in a git directory or something so you can easily rollback. If you have one service running but adding a second breaks it and you want to take a break, it’s a lot better rolling it back to a known good state rather than leaving it in a broken state.

permalink
report
parent
reply
0 points

If not using DNS, how are you directing traffic to nginx?

permalink
report
parent
reply
1 point

Was referring to using DNS to each individual service rather than one single DNS point for your entire proxy. I have *.my.domain pointed to my proxy which directs everything underneath it.

permalink
report
parent
reply
2 points

Ok so what I need to do in my case is have my DNS direct *.crypt to my Nginx (when I get it set up) then have that direct all the bits that the star represents to the right IP/port?

permalink
report
parent
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 5K

    Monthly active users

  • 3.6K

    Posts

  • 81K

    Comments