selfhosted

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

cm0002, in Anybody here running AD on-prem in your homelab?

I do, for a multitude of reasons

  • Easier management of family computers
  • an authoritative source for Authentik SSO
  • Learning experience, I’m also heavy Linux, but I try to maintain an OS agnostic philosophy with my skill set so I can have options in my career
  • I was bored
  • Again, since I like to maintain an OS agnostic philosophy I have a healthy mix of Windows, Linux and MacOS devices, and you CAN in fact join Linux (w/ SSSD) and MacOS to a domain too

In addition to what others have said with roaming profiles and such:

DO NOT SET YOUR AD DOMAIN AS THE SAME DOMAIN OF A WEB ADDRESS YOU USE

I…er…someone… Found themselves in this situation and have been in a mess since lmao

caleb,

Can you explain your disclaimer? You suggest not setting your AD domain to a web address you use, like one for self hosted sites? So you buy 2 domains, one for AD and one for sites? Or you use an internal domain for AD?

jemikwa,

In shorter terms to what the other comment said, your website won’t work in networks that use DNS served by your DC. The website is fine on the Internet, but less so at home or at an office/on a VPN if you’re an enterprise.
“I can’t go to example.com on the VPN!” was a semi common ticket at my last company 🙃

redfox,

All the descriptions are right and techniques. Microsoft sometimes refers to this is split-brain and their documentation.

Organizations that choose not to do that use an active directory specific subdomain like some of the other comments mentioned. Example: adds. Company.tld.

Computer1.adds.company.tld. Dc1.adds.cimoany.tld.

Others doing split domain are

Adds.company.internal

cm0002,

AD is heavily reliant on the DNS protocol, so heavily in fact that a large component of an AD deployment is a DNS server.

So basically, when the AD DNS server takes over on your network It’ll do DNS things as you’d expect, when it gets a DNS call with the AD domain it will answer with the AD server every time

If your AD domain and your web address domain are domain.com then whenever the AD DNS server gets theh call it won’t answer with the IP address of the web server, it’ll answer with the AD server, even when you are trying to access a web service like domain.com/Plex or something.

You can change the DNS server used on the host, but then you’ll be borkin domain functionality in weird ways

Yea, you’d want an entirely different domain or an internal like domain.lan or in my case what I should have done is made it a subdomain like ad.domain.com

And also it’s a bitch to change the AD domain once you get it all setup hence I’ve been procrastinating with hosts file workarounds lmfao

nottelling,

made it a subdomain

That is the correct answer.

Xakuterie,

If I remember correctly that is best practise, no? It was something.local or *.intern for years, until TLDs could be whatever you wanted them to be.

taladar,

Do not use made up domains for anything these days. It will make it a pain if you ever need a certificate for that domain that isn’t self-signed.

nottelling,

.local is reserved for mDNS responses, don’t use that.

It’s more than best practice. Your active directory controllers want to be the resolvers for their members, separate from other zones such as external MX records or the like. Your AD domain should always be a separate zone, aka a subdomain. “ad.example.com”.

If your DCs are controlling members at the top level, you’ll eventually run into problems with Internet facing services and public NS records.

Also per below. You can’t get commercially signed certificates for fake domains. Self hosting certificate authorities is a massive pain in the ass. Don’t try unless you have a real need, like work-related learning.

cooljacob204,

Is there costs associated with this?

cm0002,

To deploy AD, that depends.

If you like to sail the high seas AND aren’t trying to use it for a business, then no.

If you don’t want to sail the high seas or need to use it for a business, then yes, you’ll need to buy a Windows Server license

huskypenguin,

Samba v4 has been able to be a domain server forever and it’s free. You can also use Synology if you want it off the shelf.

infeeeee,

You can have ad dc on samba, without windows. Nice all in one solution is UCS univention, works really well and free: www.univention.com/products/ucs/

Even in docker, last time i tried this, it was buggy: github.com/Fmstrat/samba-domain

Dashi,

Windows server license and CALs… don’t forget that extra little cost just because from MS

BigMikeInAustin,

Some of the best and worst decisions people have made started with, “I was bored.” Ha!

MigratingtoLemmy, (edited )

Thank you for the wonderful comment.

Indeed, I was hoping to have a good SSO setup alongside learning about AD and domain services (also looking at the *nix alternatives like FreeIPA).

Could you tell me more about the DNS setup with regards to AD? I’d like to use my own DNS and not have AD be the DNS provider in my network. The idea to put it in its own subdomain is excellent and I’ll remember that.

People here also mention an increase in attack surface and security vulnerabilities in running AD/domain services on a network. Now, I agree that letting free access to the domain server and having rogue accounts causing havoc on the network is not great, but I’d like to know more. What has been your experience?

huskypenguin,

Not the original commenter, but I don’t understand how that would increase your attack surface. The AD is inside the network, and if an attacker is already in, you’re compromised. There might be way to refrence a DNS server with a windows server, but then you’re running windows and your life is now much more difficult.

As per DNS, the AD server must be the DNS provider. If you run something like nethserver in a VM you can use it as a dns & ad server.

The domain thing, the AD server is the authorative for its domain. So if you set it as top level, like myhouse.c()m, it will refrence all dns requests to itself, and any subdomains will not appear. The reccomended way to get around this is to use a subdomain, like ad.myhouse.c()m. Or, maybe you have a domain name to burn and you just want to use that?

MigratingtoLemmy,

Thanks, you’re the second person who spoke about Neth server to me. I’ll take a look.

I was planning to create a subdomain for it anyway, it’s just that I was misled that if I didn’t give it control over DNS for the network it wouldn’t function properly. That doesn’t seem to be case (which I’m glad for).

I do not quite understand how the attack surface is increased other than running Windows on my network. I will have to look deeper into it myself.

Thanks

downpunxx, in Software vs Hardware RAID
downpunxx avatar

raid is fine if you have the funds for twice the disk space for half the data storage

TseseJuer, in If you were to suddenly come into possession of 12+ enterprise-grade SAS hard drives, how would you go about incorporating them into your homelab?

I would send 4 of them free of charge to @TseseJuer

WindowsEnjoyer, (edited ) in When Pi-hole is down?

On Mikrotik I have a script that runs every 30sec. If pi-hole not responding, router switches to public cloudflare dns records, otherwise to pi-hole IP.

This setup works like a charm.

P.S. I am using Blocky, but it’s almost the same as Pi-Hole.

EDIT: Since at least 2 guys asked how to do it:

forum.mikrotik.com/viewtopic.php?p=866934#p866934

Don’t forget to configure Mikrotik router to act as passthrough DNS server with cache (for performance) and configure DHCP server’s DNS to router’s IP.

machinin,

Thanks, this looks good, but I’m not sure I can do it on Asus. I’ll look into it.

walden,

That sounds cool. I’ve never messed with scripts on Mikrotik, but would it be possible to share what you have?

I’m guessing a relatively short DHCP lease time is also in play so devices can get the new DNS address? Or do you have Mikrotik set as the DNS server?

WindowsEnjoyer,

I’ve edited my comment. It contains my used script.

walden,

Thank you, I’ll bookmark it for later.

BarbecueCowboy,

Seconding the request to share your work.

That is an amazing idea you've come up with that I never considered, but now I need it.

WindowsEnjoyer,

I’ve edited my comment. It contains my used script.

WindowsEnjoyer,

Aight, let me do it… 😅

CountVon, in Ideas for setting up a media server compatible with xbox viewing?
@CountVon@sh.itjust.works avatar

People here seem partial to Jellyfin

I recently switched to Jellyfin and I’ve been pretty impressed with it. Previously I was using some DLNA server software (not Plex) with my TV’s built-in DLNA client. That worked well for several years but I started having problems with new media items not appearing on the TV, so I decided to try some alternatives. Jellyfin was the first one I tried, and it’s working so well that I haven’t felt compelled to search any further.

the internet seems to feel it doesn’t work smoothly with xbox (buggy app/integration).

Why not try it and see how it works for you? Jellyfin is free and open source, so all it would cost you is a little time.

I have a TCL tv with (with google smart TV software)

Can you install apps from Google Play on this TV? If so, there’s a Jellyfin app for Google TVs. I can’t say how well the Google TV Jellyfin app works as I have an LG TV myself, so currently I’m using the Jellyfin LG TV app.

If you can’t install apps on that TV, does it have a DLNA client built in? Many TVs do, and that’s how I streamed media to my TV for years. On my LG TV the DLNA server shows up as another source when I press the button to bring up the list of inputs. The custom app is definitely a lot more feature-rich, but a DLNA client can be quite functional and Jellyfin can be configured to work as a DLNA server.

scottrepreneur,

The LG TV app is solid!

JASN_DE, in Jellyfin + Audiobooks with Chapters

Audiobooks

Do yourself a favor and have a look at Audiobookshelf.

singularity,

I agree. This is the best choice for audio books.

vbatts,

Big agree. I tried to make jellyfin acceptable for a while and life with audiobookshelf is just so good. github.com/advplyr/audiobookshelf

harsh3466,

+1 for audiobookshelf. It’s amazing.

shrugal,

Their ebook support has become quite good as well, it’s like a gift that keeps on giving!

uzay,

Yep, haven’t tried Jellyfin for audiobooks in a while, but when I did it didn’t work well. Audiobookshelf on the other hand is really really good.

Voroxpete,

That’s it. That’s the thread. Everyone else go home.

Showroom7561,

I started using it for podcasts!

Really easy to set up on a synology NAS.

ProtecyaTec,

Oh no.

I decided to go with an Asustor prebuilt NAS for my first self-host. It’s got a Jellyfin app, but not an Audiobookshelf app.

Jellyfin runs on Docker, so I have the Docker app installed and running.

Audiobookshelf runs on Docker. Could I just like, spin up a container and run it? How would I access it through my Asustor? I access Jellyfin either direct or through my portal dashboard.

So many questions! Like, I lowkey love having all my media accessible in 1 place: Series, Movies, Music, Audiobooks all in one place through Jellyfin. If I split my Audiobooks into Audiobookshelf somehow, how do I keep the ease of access? Maybe spin up another Docker container and create a landing page linking both Jellyfin and Audiobookshelf? Could (should I? Can I?) do it all through the same Docker container that Jellyfin is currently run on? Are there tutorials about this?

Thank you again for the suggestion

scrubbles,
@scrubbles@poptalk.scrubbles.tech avatar

Yes you can just spin up a container just like jellyfin.

Yes it’s nice for a one stop shop buuuut trust us, just audiobookshelf. You’ll thank us later

Fumbles,

I use an app called Smart Audiobook Player for Android. I download my books from JellyFin and just use that app to play them. JellyFin’s audiobook experience is lacking right now.

kellyaster, in ICANN proposes creating .INTERNAL domain
kellyaster avatar
maynarkh, in I want to get started with *arr apps - here are all the things I don't understand about (reverse-/)proxies and networking in order to get it set up.

Look, this is a large puzzle you’re trying to solve all at once. I’ll try to answer at least some of it. I’d advise you take these things step by step. DM me if you need some more help, I may have time to help you figure things out.

I paid for and installed mullvad (app) but it crashes a lot (for over a minute every 20 seconds), so it looks like I need to configure something like gluetun to do it instead.

Check the error logs and see what’s wrong with it instead. How is it crashing? Did you check stdout and stderr (use docker attach or check the compose logs)?

If I want to watch them on my TV I need to connect something to my TV that talks to the raspberry pi, so I have an NVIDIA shield with Jellyfin installed on it - but in order for the NVIDIA-Jellyfin to connect to the RaspberryPi-Jellyfin it needs to go through the internet (if this is not the case, how does one point the NVIDIA-Jellyfin at the Raspberry Pi jellyfin?)

Technically not. You can use the Jellyfin web UI to stream directly from the RPi. You may need the shield if the RPi does not have enough resources for streaming, but I’d try it out first. Try to get the IP the Raspberry is listening on on your local network and put that in a web browser on a computer first. IF you get the web UI and can watch stuff, then try a web browser on your TV, or cast your computer to the TV or something. As long as you have a web browser you should be fine.

First of all, is that all correct or have I misunderstood something?

You should look a bit into how the internet, DNS and IP addresses work on the public internet and private networks. You can absolutely set it up so that traffic from your local network hitting your domain never leaves your home, while if you try the same from somewhere else, you get an encrypted connection to your home. You’re a bit all over the place with these terms so it’s hard to give you a straight answer.

How does mysubdomain.mydomain.com know it’s me and not some random or bot?

If the question is whether how the domain routes to your IP, look up how DNS works. If you are asking how to make sure you can access your domain while others can’t look up the topic of authentication (basically anything from a username/password to a VPN and network rules).

How do I tell Cloudflare to switch from web:443 to local:443 (assuming I’ve understood this correctly)

If I remember correctly, Cloudflare forwards HTTP/S traffic only, so don’t worry about the ports, that’s all it will do. About the domains, you need to have a fixed public IP address for that, and you have to give Cloudflare by setting a DNS A record for an IPv4 address and/or an AAAA record for an IPv6 address.

So something like this: A myhost.mydomain.com 123.234.312.45

Is this step “port forwarding” or “opening ports” or “exposing ports” or either or both?

Nope. Port forwarding is making sure that your router knows what machine should answer when something on the Internet comes knocking. So if the RPi port 8096 is “forwarded” to the router, then if something from the internet connects to the router’s 8096 port, it will get to your RPi instead of something else. Opening ports has to deal with firewalls. Firewalls drop all connections on all ports that are not open, for security reasons. By opening a port you are telling the firewall what entities outside your device can connect to a service like Jellyfin listening on that port. Exposing ports is Docker terminology, it is the same as port forwarding except instead of “moving” a port from your machine to your router you “move” a port from a container to your machine.

If my browser when accessing mysubdomain.mydomain.com is always going to port 80/443, does it need to be told it’s going to talk to cloudflare - if so how? - and does cloudflare need to be told it’s going to talk to NGINX on my local machine - if so how?

The DNS server you are hosting the domain from will propagate that info through the DNS network. Look up how DNS works for more info. If your domain is managed by Cloudflare, it should “just work”. Cloudflare knows it talks to your router by you setting up a DNS record in their UI that points to your router, where your RPi’s port should be forwarded, which directs traffic to your RPi, on which your NGINX should be listening and directing traffic to your services.

How do I tell NGINX to switch from local:443 to local:8096 (assuming I’ve understood this correctly)

Look up NGINX virtual servers and config file syntax. You need to configure a virtual server listening on 443 with a proxy_pass block to 8096.

Is there a difference between an SSL cert and a public and private key - are they three things, two things or one thing?

Yes, SSL certs are the “public keys” of an X509 pair, while what you know as “public and private keys” are RSA or ED25519 key pairs. The former is usually used to make sure that the server you are accessing is indeed who it claims to be and not a fake copy, it’s what drives HTTPS and the little lock icon in your browser. RSA or ED25519 keys are used for authentication as in instead of a username and password, you give a public key to a service, then you can use a private key to encrypt a message to auth yourself. One service you might know that it uses it is SSH.

Doesn’t a VPN add an extra step of fuckery to this and how do I tell the VPN to allow all this traffic switching without blocking it and without showing the world what I’m doing?

A VPN like Mullvad is used for your outgoing traffic. All traffic is encrypted, the reason you want a VPN is not so that others can’t see your messages, it’s so that your ISP and the other people forwarding your messages don’t know who you’re talking to (they’ll only know you’re talking to your VPN), and so that the people you’re talking to don’t know who you are (they are talking to your VPN). You need this so your ISP doesn’t see you going to pirate sites, and so that other pirates, and copyright trolls acting as pirates don’t know who you are when you talk to them and exchange files using torrents.

Gluetun just looks like a text document to me (compose.yml) - how do I know it’s actually protecting me?

I don’t know shit about Gluetun, sorry.

From nginxproxymanager.com : "Add port forwarding for port 80 and 443 to the server hosting this project. I assume this means to tell NGINX that traffic is coming in on port 80 and 443 and it should take that traffic and send it to 8096 (Jellyfin) and 5000 (ombi) - but how?

Again, look up virtual servers in NGINX configuration. You need a virtual server listening on 80 and 443 proxying traffic to 8096 and 5000, separating on hostnames I guess.

Also from that site: “Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or Amazon Route53” - I assume this is what Cloudflare is for instead of Duck or Amazon? I also assume it means "tell Cloudflare to take traffic on port 80 and 443 and send it to NGINX’s 80 and 443 as per the previous bullet) - but how?

Add a DNS A record.

funkless_eck,

thank you so much for this considered reply. I’m just stepping out now, but will check in later to go through this in depth

funkless_eck,

Check the error logs and see what’s wrong with it instead. How is it crashing? Did you check stdout and stderr (use docker attach or check the compose logs)?

“Crash” is the wrong word. The app is running, it says “Connected” for about 15-20 seconds, then it says “Internet blocked” for about 20 seconds, then it says “Reconnecting” for 30-90 seconds, repeat indefinitely.

Using the CLI for logging, it says something along the lines of “Timeout… Hyper time out”

You should look a bit into how the internet, DNS and IP addresses work on the public internet and private networks.

Do you have any recommendations on how to learn this?

Also, thank you for explaining that “configuring a domain name” is adding an A record. I’ve added TXT records and similar for Google analytics and I’ve added mail records to set up my own domain’s email before - but this is helpful, thanks.

Unchanged3656, in Sounds like Haier is opening the door!

Well, how about having a local API and have no calls at all to your cloud infrastructure? Probably too easy and you cannot lock people into your ecosystem.

jkrtn,

I’m glad the people with this device are getting traction on using it with their HA, but holy hell this is a complete non-starter for me and I cannot understand why they got it in the first place. There’s no climate automation I would ever want that is worth a spying device connected to the internet and a spying app installed on my phone.

ikidd,
@ikidd@lemmy.world avatar

Extend this to robot vacuums. I have no clue in hell why anyone would want their vacuum connecting to a cloud service that won’t be there in 2 years.

Rentlar,

Someone tell Gianpiero! You could save up to 20% on Amazon fees in just 5 minutes. Commit to a Local API today!

Unchanged3656,

Probably more. Your app can use the local API then as well. And AWS is insanely expensive, especially if you forget to block log ingestion to Cloudwatch (ask me how I know).

jkrtn,

I’m cynical so I assume they are turning a profit selling user data. So the lost money is not from AWS expenses but from not having installed apps to steal more data.

helenslunch,

From any practical standpoint, this makes so much sense.

Sometimes my Tesla fails to unlock for some reason and I have to disable my VPN and then stand next to it like a God damn idiot for 10 seconds while it calls it’s servers in fucking California to ask it to unlock my car.

morph3ous,

The issue you are experiencing likely has nothing to do with the VPN. Network connectivity is not needed to unlock the car. I have been in places with no cell phone signal and it still works.

I do sometimes experience the same issue you are. If I wake up my phone, then it works. So it may be working for you not because you disabled the VPN, but because you woke up your phone and it then sent out the bluetooth signal to let the car know you were nearby.

helenslunch,

When I have the VPN on I get nothing but a “Session Expired” notice for several months at a time.

psivchaz,

It’s a bit of both! Certain commands to the car can be done locally via Bluetooth OR via Tesla servers. The tricky bit is that status always comes from the server. If you are on a VPN that is blocked (like I use NordVPN and it is often blocked) then the app can’t get status and as long as it can’t get status it may not even try a local command. It’s unclear to me under what circumstances it does local vs cloud commands, and it may have to do with a Bluetooth LE connection that you can’t really control.

When you don’t have service, or you’re on VPN, it may be worthwhile to try disabling and reenabling Bluetooth. I have had success with this before. If you’re using android, it seems like the widget also uses Bluetooth, so you could try adding the widget to your home screen and using that. You can also try setting the Tesla app to not be power controlled, so it never gets closed.

Either way, there’s a definite engineering problem here that feels like it should be fixed by Tesla. But I can at least confirm that, even in situations with zero connectivity, you should be able to perform basic commands like unlock and open trunk without data service.

dual_sport_dork,
@dual_sport_dork@lemmy.world avatar

As if I needed yet another reason to never ever own a Tesla.

My car has this crazy technology in it: You can stick the key in the door and twist and it’ll unlock. Even if the network is down or the battery is dead. Arcane, right?

gravitas_deficiency,

I will be driving my 03 1.8t 5mt Jetta into the ground, thank you very much.

SoleInvictus,
@SoleInvictus@lemmy.world avatar

Hell yes! My sister-in-law has your same year but the diesel version and that thing is a champ. It’s rated at 45 mpg on the highway but she typically gets 50+, even with nearly 200k miles on it.

I had a 2004 1.8t Jetta for 12 years but I swapped it for a Prius. I love the Prius features and fuel economy but I miss how damn quick that my Jetta was, plus I loved the interior color scheme.

Alto,
Alto avatar

Anyone buying a Tesla at this point either knows they're buying a shit car purely for the status symbol, or they're a rube. Fools and their money and all that

AbidanYre,

Are they even a status symbol at this point? At least where I’m at they’re a dime a dozen.

helenslunch,

Well that’s incredibly presumptive, judgemental and simply untrue. They’re incredibly pragmatic and well-rounded. And relatively inexpensive to boot.

BearOfaTime,

Hahahahahahajaja

Found the rube

helenslunch,

Very mature.

Alto,
Alto avatar

My friends base model kia soul from 2013 has less issues with gaps in the body and awful craftsmanship with regards to interior trim than the two model 3s that are in my family. The same has been true for quite literally every car I've ever owned, and I've owned real pieces of shit. It's also been in the shop less despite having been around an extra 7 years.

helenslunch,

Don’t know what to tell you. I have zero issues with panel gaps. Nor has anyone that I know who actually owns one.

The only service I have needed in 3 years they came and completed in my driveway while I watched TV. Can’t say that about any other cars I’ve owned.

BearOfaTime,

You don’t.

That others do is the issue.

helenslunch,

They don’t 🤷

helenslunch,

Haha yeah there are other, more reliable methods but the “phone as a key” is also super convenient when it works properly, which is most of the time. It just would be a lot smarter if it worked locally.

dual_sport_dork,
@dual_sport_dork@lemmy.world avatar

…Or if there were an alternative option that didn’t rely on software and electronics is my point.

Cars have had electronic remote keyless entry for decades. It’s not new. Some of them even have phone apps that duplicate that functionality. No one but Tesla has been stupid enough to remove the keyhole, though.

helenslunch, (edited )

I understood your point. My point is those electronics make it more convenient to use. Would I appreciate ALSO having a physical unlock mechanism? Sure. It also increases the attack surface.

Cars have had electronic remote keyless entry for decades.

As does Tesla.

Bazoogle,

I think it could definitely be possible to do locally, and I wouldn’t want a car where I have to connect to servers to connect to it. But I am also not sure I want a car that can be opened with a command on the car itself. The code to access your CAR being stored locally on the car itself, with no server side validation, does seem kinda scary. It’s one thing for someone to manage to get into your online login where you can change the password, it’s another for someone to literally be able to steal your car because they found a vulnerability. It being stored locally would mean people would reverse engineer it, they could potentially install a virus on your car to be able to gain access. Honestly, as a tech guy, I don’t trust computers enough to have it control my car.

helenslunch,

It already unlocks locally over Bluetooth.

Auli,

Yep people should only purchase things that don’t require the cloud. Local control is the best.

atzanteol, in What software does the Internet Archive run?

I believe they used heritrix at one point. The important bit is that there is a special archive format that they use which is a standard. There are several tools that support it (both capturing to it and viewing it) - it allows for capturing a website in a ‘working’ condition with history or something. I’m a bit fuzzy on it since it’s been some time since I looked into it.

avidamoeba,
@avidamoeba@lemmy.ca avatar

It seems like all of their software is in the parent account of heritrix - github.com/orgs/internetarchive/repositories?type….

lemmyvore, in Looking for help setting up an alternative to DuckDNS

You should be able to do the crontab approach with any DNS provider that has an API – just need to change the URL and the API key, obviously.

If your provider or registrar doesn’t offer an API consider using one that does. DeSEC.io is free to use and reliable.

Atemu,
@Atemu@lemmy.ml avatar

I’ve discovered DeSEC recently too and have been positively surprised by it. I use it for DNS but they also have dyndns on a shared domain similar to DuckDNS.

lemmyvore,

Oh right I had forgotten about that, you can use DeSEC even without a domain, for dynamic DNS.

hactar42, in Have you tried LocalGPT PrivateGPT or other similar alternatives to ChatGPT?

I’ve played around with a few of them. I’ve found LM Studio the most robust and user friendly.

Haggunenons, in Have you tried LocalGPT PrivateGPT or other similar alternatives to ChatGPT?
@Haggunenons@lemmy.world avatar

Mixtral is an amazing one that isn’t super slow or require incredible hardware foe a decent speed.

In general this guy has really good videos/tutorials for the latest tools.

thanksforallthefish, in 13 Feet Ladder

1ft.io also seems to work and by the branding seems unrelated to 12ft

cyclohexane,

There’s 4ft.io too. Oh nvm looks like it’s gone.

Lem453, in What's the point of a reverse proxy and does cloudflare give all the benefits of one?

CloudFlare is a good place for beginners to start. Setting up a reverse proxy can be daunting the first time. Certainly better than no reverse proxy.

That being said, having your own reverse proxy is nice. Better security since the certificates are controlled by your server. Also complex stuff becomes possible.

My traefik uses keys encrypt wild card domains to provide HTTPS for internal LAN only applications (vault warden) while providing external access for other things like seafile.

I also use traefik with authentik for single sign on. Traefik allows me to secure apps like sonarr with single sign on from my authentik setup. So I login once on my browser and I can access many of my apps without any further passwords.

Authentik also allows oAuth so I can use that for seafile, freshrss and immich. Authentik allows jellyfin login with LDAP. (This last paragraph could be setup with CloudFlare as well).

Maximilious,
Maximilious avatar

This is the way. My setup is very similar except I only use authentik for Nextcloud. I don't expose my "arr" services to the Internet so I don't feel it necessary to put them behind authentik, although I could if I wanted.

Using Duo's free 10 personal licenses is also great as it can also plug into authentik for MFA through the solution.

Lem453,

The primary reason to put authentik in front of arrs is so I don’t have to keep putting in different password for each when logging in. I disable the authentication for each of them in the app itself and then disable the exposed docker port as well so the only way to access it it via traefik + authentik. It has local access only so isn’t directly exposed to the internet.

10 free accounts on duo is very nice but I hate being locked into things (not self hosted). An open source or self hosted alternative to duo would be great.

throwafoxtrot,

How do you get certs for internal applications?

I use caddy and it does everything for me, but my limited understanding is that the dns entry for which the certs are requested must point to the ip address at which caddy is listening. So if I have a DNS entry like internal.domain.com which resolves to 10.0.0.123 and caddy is listening on that address I can get a http connection, but not an https connection, because letsencrypt can’t verify that 10.0.0.123 is actually under my control.

lemmyvore,

There is an alternate verification method using an API key to your DNS provider, if it’s a supported one. That method doesn’t need any IP to be assigned (doesn’t care if there are A/AAAA records or where they point because it can verify the domain directly).

deSEC.io is a good example of a good, reputable and free DNS provider that additionally allows you to manage API keys. The catch is that they require you to enable DNSSEC (their mission is similar to Let’s Encrypt, but for DNS).

throwafoxtrot,

Thanks, good to know. I’ll see if can set that up.

lemmyvore,

I see that you want to use the cert for intranet apps btw.

What I did was get two LE wildcard certs, one for *.my.dom and one for *.local.my.dom. Both of them can be obtained and renewed with the API approach without any further care to what they actually point at.

Also, by using wildcards, you don’t give away any of your subdomains. LE requests are public so if you get a cert for a specific subdomain everybody will know about it. local.my.dom will be known but since that’s only used on my LAN it doesn’t matter.

Then what I do for externally exposed apps is to point my.dom to an IP (A record) and either make a wildcard CNAME for everything *.my.dom to my.dom, or explicit subdomain CNAME’s as needed, also to my.dom.

This way you only have one record to update for the IP and everything else will pick it up. I prefer the second approach and I use a cryptic subdomain name (ie. don’t use jellyfin.my.dom) so I cut down on brute force guessing.

The IP points at my router, which forwards 443 (or a different port of you prefer) to a reverse proxy that uses the *.my.dom LE cert. If whatever tries to access the port doesn’t provide the correct full domain name they get an error from the proxy.

For the internal stuff I use dnsmasq which has a feature that will override all DNS resolves for anything ending with .local.my.dom to the LAN IP of the reverse proxy. Which uses the *.local.my.dom LE cert for these ones but otherwise works the same.

Lem453, (edited )

You are completely correct…for normal certs. Internal domains require a wild card cert with DNS challenge.

This video explains how to set it up with traefik

youtu.be/liV3c9m_OX8

I’d bet caddy can do something similar.

Basically you have:

  1. Seafile.domain.com -> has it’s own cert
  2. *.local.domain.com -> has its own cert but the * can be anything and the same cert can be used for anything in place of the star as many times as you want and therefore doesn’t need to be internet accessible to verify. That way vaultwarden.local.domain.com remains local only.
  • All
  • Subscribed
  • Moderated
  • Favorites
  • selfhosted@lemmy.world
  • tacticalgear
  • DreamBathrooms
  • cisconetworking
  • magazineikmin
  • InstantRegret
  • Durango
  • thenastyranch
  • Youngstown
  • rosin
  • slotface
  • mdbf
  • khanakhh
  • kavyap
  • everett
  • provamag3
  • modclub
  • Leos
  • cubers
  • ngwrru68w68
  • ethstaker
  • osvaldo12
  • GTA5RPClips
  • anitta
  • megavids
  • normalnudes
  • tester
  • JUstTest
  • lostlight
  • All magazines