Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Gay Retard posted:

I ran into some issues years ago getting Lets Encrypt + DuckDNS setup for proper reverse proxy https forwarding and never bothered trying again, but I thought nginx proxy was pretty simple once I forwarded my domain's DNS to cloudflare and set all my DNS up in there, as well as SSL/TLS certs. It's free.

I mostly followed this guide, but there are a few different guides on YouTube:
https://www.youtube.com/watch?v=c6Y6M8CdcQ0

From a security standpoint, I only expose things that support SSO or MFA. So for me it's just Overseerr (with only Plex login enabled). And yeah everything else sits behind wireguard.

Please all, NPM/traefik are awesome but basic auth is not secure in any way even over SSL unless you've got some kind of IP ban mechanism in place.

Adbot
ADBOT LOVES YOU

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Scruff McGruff posted:

Completely agree, the only things I have exposed are Overseerr (Plex OAuth), Tautulli (Plex OAuth), Nextcloud (MFA), and HomeAssistant (MFA). Everything else lives behind Wireguard. I always die a little inside when I see posts on the Unraid forums asking how to expose their server UI externally even after being told about Wireguard, which is insanely easy to set up on Unraid.

I think I saw someone expose radarr and sonarr completely unprotected wondering why their server went apeshit with all these mysterious movie adds. Made me laugh in horror.

I just wish services supported SSO for more than just opening up pages because Authelia is fantastic and Ibracorp have a few very good videos on it. Google even provides a good SSO service but a lot of these apps don't support it for auth.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Reminder for wild card certs:

*.domain.com

Does not cover:

*.internal.domain.com

So make sure you add both wildcards in your certbot/ngxpm/traefik/acme.sh request.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
yeah new browsers don’t like http anymore. it’s not a big deal but it’s also not too hard to fix.

also if you understand cert chains you can get a raise because hardly anyone does.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
I've been downloading sample packs recently (bought legally) for futzing around with in Ableton and a few samplers.

I'm having the damndest time finding this but is there some kind of nice web gui I can feed a URL to and tell it where to download to? Preferably one with a nice adaptive webui that I can use on my phone or iPad?

This would be on UnRAID so a docker is preferred.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

CopperHound posted:

I haven't tried, but aria2+webui might be what you're looking for.
https://forums.unraid.net/topic/60117-support-aria2-webui/

That looks perfect. I'll check it out. Thanks!

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Canine Blues Arooo posted:

I'm looking for guidance on how to better execute on my self-hosted setup. It might be in the OP, but I'm too dumb to piece it together.

What I have is a Windows box that is running a handful of services I want to be able to expose to the Internet. Those services are things like a MySQL database, a Minecraft Server, etc. Right now it's all running on bear metal and the way I'm doing this is just port forwarding and connecting via IPv4, but without a static address so things like my Minecraft Server has an ever-changing address and this is highly suboptimal. For some things, I've solved this with ngrok, but it doesn't seem to be able to do all the things (e.g. the Minecraft Server doesn't seem to play nice with ngrok for reasons I don't understand)

If I can actually figure this out, what I want is a more robust box running Windows VMs, accessible via DNS. Before I put money into a bigger box though and setup slightly more real infrastructure though, I really need to figure out this external addressing poo poo. I'm not sure what the Right Way™ to access my services reliably and consistently from the Internet actually is. Maybe it lies somewhere with ngrok and I just need to get gud. A static address is ideal, but is not in the cards.

So goons: How do I setup my box so I can talk to it from the Internet without static addressing?

Dynamic DNS using duckdns. Then set up WireGuard or Tailscale and don't expose anything to the internet.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Just a note, I think I've said it before but do not expose anything of it doesn't support Single Sign On or 2FA.

Basic auth even over SSL is not enough.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Nitrousoxide posted:

I edited this in to my post, but yes should absolutely implement fail2ban or other brute force protections like 2FA or SSO if you're exposing anything to the internet at large. This does increase the complexity of your implementation. Something like https://hub.docker.com/r/authelia/authelia#! would work for this. Though I don't know if it works for NGINX. It works for Traefik, which is another implementation of a reverse proxy, though one i'm not familiar with.

Iberocorp has a bunch of videos for Authelia on YouTube. It's UnRAID focus but will work fine for any docker based deployment.

The big problem I have with it is it's fine as a gate keeping mechanism (kind of) but it doesn't pass the token through to your underlying service.

Still better than nothing and not any knock against it. Honestly though I still wouldn't expose anything I don't have to.

My only open services are Overseearr (only plex login), Nextcloud (2FA enforced), and Plex. Everything else is behind Wireguard.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
If you want VPN built on WireGuard that doesn't need a hole punched in your firewall, look into Tailscale.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

CopperHound posted:

I've been spending the past week or two giving myself a crash course on self hosted kubernetes clusters. I just barely got the self contained ha control plane and load balancer figured out along with basic ingress with traefik. If I find it at all practical for home use I'll try posting a guide to get some basic stuff hosted.


Holy hell this is a steep learning curve compared to unraid docker containers.

Are you doing this for learning or have you watched too much TechnoTim on YouTube?

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

CopperHound posted:

What got this started was me wanting to have a dhcp server integrated with local DNS so I could just type whateverhostname.local.mydomain and my current router doesn't support that. I also want some fault tolerance, so one computer going down doesn't break my whole network.

I probably should just figure out how to do failover with pihole.

If you want "easy mode" for kubernetes, look into Rancher.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

BlankSystemDaemon posted:

kubernetes is made for hyperscalers that need massive scale-out orchestration
nobody else should ever touch it, ever, on penalty of being tickled

Whole lot of people use their homelabs to host things and learn. K3s is perfectly fine for an Arr/Plex/Dowloading setup.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

BlankSystemDaemon posted:

Sure, but k3s isn't kubernetes.

The point I was trying to make is that kubernetes was made to solve a very specific issue, which is orchestration of massive scale-out workloads that are only encountered by hyperscalers.

Can you use kubernetes for your homelab to learn the basics? Sure, but you're not going to learn about the things make it make sense for the hyperscalers.

You'll still have the joy of not properly formatting your YML and debugging it for hours until you see the errant space.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

CommieGIR posted:

For minecraft the fix is simple: add '-dlog4j2.formatmsgnolookups=true' to your java runtime args.

For the record, this is a mitigation not a fix.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

CommieGIR posted:

Its worth noting this is what log4j 2.15.0 is doing, it just makes it default.

https://issues.apache.org/jira/browse/LOG4J2-3198

It's still just mitigation. If you set that flag to false you're vulnerable again. Completely understandable as it's a humongous vulnerability but they still have to fix the actual problem.

I'm sorry if I'm being pedantic here. Just realize there's a big patch coming that you're going to want to install to actually fix this.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
None of this poo poo should be directly internet facing anyway. If you're self hosting and need something exposed without VPN you should be using cloudflared and a good reverse proxy.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Zapf Dingbat posted:

Where does that reverse proxy sit? Locally or remote?

Ideally both and with SSL on both ends.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
An older NUC (8th gen is what I have) running proxmox and then you can run whatever distorts you want as VMs and mess around with LXC.

Small, reasonable power usage, and very versatile.

For running a NAS, different story but you always have the option of getting a Synology to make things easier on yourself. Personally I’m running unraid on old hardware because i like the flexibility of mixing drives, and the docker containers as apps store thing they have going on.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Well Played Mauer posted:

Cool, thanks. Been doing a bit of side research and it sounds like I could power most of what I need on a ~$400 NUC with Unraid, then connect a Synology NAS when I grow beyond external USB SSDs. That sounds like the expensive option, but it also seems like I could run OMV on the NUC in the meantime. Is that correct?

No need for UnRAID if you have a NUC. You can run proxmox which has filesharing built in and use LXC for any services you need and then slice the rest up into VMs for learning or whatever.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Serve the home has a whole series on SFF pcs so yeah don't get too attached to a NUC unless you find a sweet deal on one.

Depending on where you are you can also trawl Craigslist or FB Marketplace. Used equipment is always a great place to start when you begin self hosting and homelabbing.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Well Played Mauer posted:

One thing I noticed is it takes the containers a good bit of time to fully initialize. I thought I broke something when getting Calibre-web to start up because the web GUI wasn't immediately available. Then I looked at the logs and realized it was still initializing 3-5 minutes after I ran the container. Is that normal, or is the external SSD I have everything on poo poo? (Maybe both?)

Try to stick to a single distributor for images who builds off the same base image.

https://www.linuxserver.io are really good about this. All of their containers are built off the same base image. So let's say you have 3 containers from them where the base image is updated. The first image will pull the needed layers and if it shares any of them with the other 2, you already have them downloaded.

This is a nice rundown on it: https://vsupalov.com/docker-image-layers/

I believe hotio do the same with their images too.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Well Played Mauer posted:

I managed to get it running after finding a tutorial to create self-signed keys. I whipped one up with a 10-year expiration and threw it into NPM, and now everything's over https and Proxmox et al are happy campers. Now I just gotta figure out why Firefox is being a dick about the pem I created.

This is such a deep rabbit hole you've fallen down but if you learn it (PKI management) you'll be ahead of 75% of the people applying for jobs.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Neslepaks posted:

Rolling your own CA is actually a nightmare and I recommend against it. So many bothersome issues went away when I changed to a LE wildcard instead.

Yep. It's a good exercise if you homelab to learn though. Most people don't know what a CA is or the difference between a private CA and self signed cert is.

A few years ago I had to deep dive on this for work and it definitely took me a few weeks to really wrap my head around PKI infrastructure. But yeah at home? No way would I use my own CA.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
https://buildarr.github.io/

It's not ready yet, but this looks interesting. Do all your Arr config from one app with YML.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Warbird posted:

Is *arr stack config that elaborate for people? It’s like 10 minutes and change, less if you throw recyclarr at it.

Single point of backup for all your config. I guess 2 with Recyclarr.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Heck Yes! Loam! posted:

I've installed enough phone systems to know what system people used based on the hold music unless it's something custom.

There is only one

https://www.youtube.com/watch?v=Np9Ga4XFTxc

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

THF13 posted:

It was brought up in the Plex thread in a slight derail, but thought it was better to talk about it here. Using code-server with Unraid's appdata folder mounted has been great. Especially using the dockermod for swag which autoreloads nginx when it detects valid changes. Thanks Matt Zerella

You're welcome but credit to Ibracorp for the idea. Also DO NOT expose that publicly.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Heck Yes! Loam! posted:

don't expose your plex instance to the internet folks

https://arstechnica.com/information...orporate-vault/

If I'm reading this right either the Plex server was used as a jump box or the person who got hacked shared a password?

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
If you don't mind paying I'd just go with fast mail.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Quick question RE: Argo tunnels

Currently im using it for Overseerr. Chain is as follows:

Overseerr (http, 5055) -> NginxProxyManager (https, using CF origin cert) -> cloudflared tunnel -> Internet

I kind of want to simplify things here, can I remove NPM and CF takes care of the SSL for the endpoint?

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Nitrousoxide posted:

Unless you only have one service you're exposing to the internet and can route the 80/443 port from the internet directly to it with your network's router, you'll need a reverse proxy like NPM to handle the SSL routing in your network. It will look at the domain headers from incoming requests and send them to the appropriate location. Your router won't do that.

The tunnel exposes it out. I want to avoid as many open ports as possible on my home connection.

I had originally put NPM in-between cloudflared and overseerr to ensure all traffic was encrypted but on further research, anything inside the tunnel is encrypted. I just changed my yml config to go directly from cloudflared to overseerr and CF forces SSL and everything looks good. I even used the Qualys ssl test site to check the URL and all traffic is encrypted.

I guess I just needed some rubber ducky debugging here.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Dollars to doughnuts LastPass guy switched over and hasn't updated.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
So with the death of Apollo for Reddit, I'm thinking of going back to Reader.

Initial research shows that FreshRSS is everyone's favorite self hosted option. Anyone have any experience with it or alternative suggestions? This will be exposed via a cloud flare tunnel.

Because it'll be public I have a rule that MFA is required and everything I'm seeing about FRSS seems like it doesn't support anything beyond normal auth. So I'm not wild about this.

The only other service I have exposed is Overseerr which uses plex SSO so that one is fine.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

Azhais posted:

You can just set up nginx reverse proxy, it can enforce mfa in front of any application you're proxying

My concern there is that will break Readar accessing the api.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Looks like miniflux is what I'm going to try since I can set it up with google oauth. I don't think I'll ever use the webapp. It'll just feed into Reeder on my iOS devices.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

hogofwar posted:

Yeah, my end goal is to somewhat replace setup documentation with ansible (and maybe terraform)? I should probably learn Terraform for my job anyway, so I think I will go that route. I am still not entirely sure where one tools area of use ends and the other begins (When to use ansible vs when to use terraform?)

Terraform for infrastructure, Ansible for configuration of said infrastructure. This applies mostly to VMs.

So with Proxmox it's terraform. For the VMs inside of proxmox it's Ansible.

I'd back out one step further and build VMtemplates with packer that are preconfigured for your Ansible code and are deployed with TF.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

hogofwar posted:

So a rough overview would be this?

Packer would create the base VM templates, setup with the basic stuff you would want in each VM.

Terraform would set these up in Proxmox when needed, specifying the different cpu/memory/network config for each VM that is spun up

Ansible would do final config/set up each VM for their own unique usage. (A VM that runs docker, a VM that runs backup, etc)

Yep. And then if you want to get fancy you do a git/cicd setup to track everything. You can probably skip terraform unless you've got some kind of complicated deployment pattern.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)

hogofwar posted:

Without terraform, would I just manually create the VMs out of the templates, or do I just rely on Ansible to do that?

I would not managed Proxmox with Ansible. I'm not even sure if it's possible tbh.

Adbot
ADBOT LOVES YOU

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Please don't use docker desktop on Mac. It's very very bad.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply