Remix.run Logo
layoric 3 days ago

This reflects a lot of what I've been through as well. My subscriptions exploded when AU got a lot of different streaming platforms, and I think when paramount+ came out and took Star Trek off of another one I drew the line. I realised I still owned all the physical media, so time to make backups. Previous to that I moved off Gmail, that was by far the hardest, and still somewhat ongoing after 8+ years.

The hardest to kick for me now is YouTube Premium.. And in AU it's like $33/month AUD, but I just can't stand ads.

Now I self host:

- Own Mastodon instance - Photos (Synology) - Videos (Synology) - Audio (Synology) - Storage (Minio) - Code/Build (Forejo) - Security (Synology)

My NAS is blocked from the internet, while web facing stuff is on a separate server (old dell workstation). And now have added a PI hole to another older dell box. My partner's laptop will be moving to Linux and will also be a Windows free household. I used Windows since 3.1, I liked it up until around Windows 7. I'm glad I've moved to Linux, but disappointed to see what has happened to Windows in general.

I want to self host more services for family, but the experience isn't there yet without quite a lot of work.

The tags #homelab and #selfhost are pretty decent to follow on Mastodon btw!

Root_Denied 3 days ago | parent | next [-]

>The hardest to kick for me now is YouTube Premium.. And in AU it's like $33/month AUD, but I just can't stand ads.

Any reason you're not just running network level AdGuard and Firefox with Ublock Origin to block all ads on your home network? Even just FF+UBO would block YouTube ads.

The selfhosted subreddit is also a really good resource to use for interesting things to run.

godelski 3 days ago | parent | next [-]

DNS blockers aren't good enough to block all ads. Especially YouTube. Plus, many browsers will ignore DNS without configuration and same for phone apps. While this can be fine for me it's not for everyone else in my family nor guests. And that's before we talk about Apple...

If anyone has a solution I'd love to learn.

volteret4 3 days ago | parent | next [-]

I use Invidious whitout a a hassle, and firefox with ublock when I can not.

For android there is New Pipe and some forks.

I prefer to pay my yt loved channels than ser a fucking add

godelski 2 days ago | parent [-]

You misunderstand the goal.

  > to block all ads on your home network?
That. That is the problem we're looking at.

I already use Firefox on /my computer/. We were talking about a pihole or some /network/ solution. How do I block ads on my friends computer when they get into my network without touching their computer? How do I block ads on my TV? You'd have to do something like deep packet inspection. Devices I fully control I can trivially solve this but there are plenty of devices I don't, including ones I own.

And for Android, you know you can use revanced, right? You can recompile the app and others to get more control

steine65 2 days ago | parent [-]

If you have a tv with WebOS there is an ad-removed youtube app you can load. Doesn't solve your friend's problem but might solve part of the problem.

godelski 2 days ago | parent [-]

I don't. Sure, I can root my TV and certainly there's exploits for that. But honestly that example isn't the problem and is much more easily solved by treating my TV as a monitor.

thaumasiotes 2 days ago | parent | prev [-]

Ublock Origin is sufficient to block all ads on youtube.

godelski 2 days ago | parent [-]

You're misunderstanding the problem.

We were talking DNS blockers. The context matters. I already use ublock but I can't do ublock on my pihole. I can't do it on an iPhone (I can use orion browser but YouTube quality is low). I can't do it on my TV. I can't do it on my friends computer that visits my house. And so on. I appreciate you trying to help but you're misunderstanding the problem and honestly I don't know how someone could be on HN and not know about ublock.

mbs159 a day ago | parent | prev | next [-]

uBlock Origin Lite for Chrome blocks YouTube ads perfectly fine. On Android you can block ads through ReVanced, on Android TV - SmartTube.

chillfox 3 days ago | parent | prev | next [-]

YouTube is a bit of a problem. I feel like it costs about double of what it should be, but I also think that content creators should be paid, and I absolutely hate ads.

kassner 3 days ago | parent | prev [-]

If you use Android. On iOS, even Pihole with isn’t enough.

armsaw 2 days ago | parent [-]

The Yattee client for Invidious works great on iOS, or the Vinegar/Baking Soda browser extensions that replace the YouTube player with a basic (ad-free) HTML5 player work also.

godelski 3 days ago | parent | prev | next [-]

I've been on this mission but unfortunately also trying to defend my PhD in a month. But I do have a lot more Linux experience. Here's stuff that I think will really help.

yt-dlp: a video downloaded. Originally designed for YouTube but supports a lot of sites. I suggest heavily aliasing this with options like sleep intervals, aria2, and make sure you download the user agent switcher. For YouTube you probably need to import cookies from a browser. But you'll be able to watch the videos without the ads.

Btrfs: it's a file system, like ext4 or ntfs. Has a lot of useful things like being able to create subvolumes, raid, cache drives (or volumes), quotas, snapshots, etc. Think anything that you'd do with zfs but it's been easier to use and it has a copy on write system that helps dedupe. You can also compress the file system! I use duperemover. If it finds dupes it replaces one file with a link (which btrfs natively supports). It'll hash the files so run it early and then set up a job (use a systemd timer)

Tailscale: take your network anywhere. God, tailscale is so fucking useful. You can even put it on a raspberry pi or your phones. It's nice to have it on an old phone which you can throw termux on and have a little server. I've used these to jump to another machine that has had issues where it could connect locally but not outside. You can also set up exit nodes so you can do things like push all your traffic through a vpn, make all your traffic use pihole, or just make it appear like you're somewhere else. You could use this to even make it effectively impossible for streaming services to know you're sharing an account. The data is going through whoever's house pays. If you get fancy you can set up rules to port specific traffic through specific locations but this is still a bit above my head. I just know it's possible. Unfortunately with iPhones you have less control. They can even break out of all this and you don't have full control. I need to get someone to explain more networking to me.

Systemd: it's annoying at first but damn there's so much to it that is helpful. Use systemctl edit to edit your service files. The ones that come with services like jellyfin aren't nearly as locked down as they should be (I intend to push to them in a few months). You should also use systemd mount for your drives. You need a companion automount file but your drives will go offline when not being used. This will really help with reducing energy costs. Be sure to note that there's even configs for you gpus. It also lets you control a systems resources. There's also nspawn and vmspawn. I wish these were a bit more popular because they can do everything docker can and more. Nspawn is a suped up chroot so you can really containerize things and even run different Linux flavors (I've even been play around with running an arm container on my x86 machine). Using machinectl you can enable these as services and even create triggers to spin up or down. There's also importctl so if you create an image (or someone else does) you can just pull that! Which kinda makes it easier than docker in many cases other than the fact that not many people have made images (or publicly available). Docker's big win is popularity but systemd has felt nicer in every other way (documentation sucks). There's so much more to systemd and that's why it's loved and hated. There's a reason it stuck, it just is too damn useful (don't forget to check out homectl too)

Ffmpeg: you probably know this one but it's also worth spending some time to learn it more and write some scripts. If you care more about storage I encode most stuff to av1 with nvenc. It's not archival but honestly I'm often getting 50% storage reductions and I can't tell the difference. Your source file probably wasn't archival grade anyways. Good enough for me. Hevc is also giving me good success.

There's a bunch of other little tools that help. For example, I have my main computer sitting behind my TV. If I'm working on it I'm in it via ssh. Otherwise games and movies are on the TV. I use ydotool as a keyboard and just made a shortcut on my iPhone and a trivial script on my Android so I can push commands that way and use a wireless mouse. There's kconnect but it's been more a hassle than help ime. I did the same for backing up photos on from my phones (they wake the drives first). Android can rsync but for iPhone I can't find a good free solution other than writing the hackiest shortcut you've seen (ssh in, check if file exists, if not then write. You can't rsync, the fucking thing will timeout and despite there being terminal emulators for iPhone you can't access your photos from them. I've found zero ways to link them and I'm upset). Check out things like fail2ban to jail users that do too many logins. You can also use nspawn to containerize these services, spin up and down, and between btrfs, homectl, and pam it is really easy to containerize users. You can mount their volumes on demand and get their accounts syncing across your intranet. It's kinda crazy what you can do.

My goal is to get some images so many of these things can start becoming plug and play. I'm getting close but obviously bigger priorities right now. I'd love help if anyone is interested. I'm not an expert in these domains so I'm sure I'm doing some things wrong but I'm learning a ton

steine65 2 days ago | parent [-]

This is great. If you ever wrote about your entire setup I'd love to read it. Got a few new ideas from your post. To anyone reading, the most helpful tool for setting up my homelab is the community helper-scripts (formerly tteck, RIP). Those have saved me soooo much time, and showed me best practices in setup, and the list of scripts give you a good idea of tools that are commonly used.

godelski 2 days ago | parent [-]

I have drafts for it but maybe I shouldn't have made this comment under my anonymous account lol.

I'm a firm believer that tools should be made to be usable by both technical and nontechnical people. Usually we do one or the other but it's a false dichotomy. "For the noobs" pushes for sane defaults, reduced complexity, and fixing bugs. It's also an entry point to become a power user, especially as being a power user in one domain doesn't mean you're automatically in another. "For the power users" gives flexibility, helps fix bugs (faster and higher coverage), as well as is critical for feature development (unless you naively believe you can know everything your diverse users need and have an infinite budget), and evangelize your product. The magic of success requires having both but I think we pretend it is one or the other. It needs to work well and be pretty.

fabatka 3 days ago | parent | prev | next [-]

What about backups? My greatest fear is self-hosting valuable stuff (like family photos) only for my NAS to fail one day and lose potentially everything.

switch007 3 days ago | parent | next [-]

There are good options. Borg, rsync.net with zfs send/recv. Storage boxes from Hetzner

Hard to make a particular recommendation as backing up to the cloud is a popular option but depends on your upload speed and rate of data change. And depends how much you're willing to spend for what tradeoff

yard2010 3 days ago | parent [-]

Storage box from hetzner is great. Hetzner is a good company, I'm glad that I'm doing business with them. The service is good, cheap, reliable, and... Un-american which means it would probably stay good and won't enshitify.

Use Hetzner! I'm not affiliated just a happy customer.

redeeman a day ago | parent [-]

i use hetzner too, and I like their current services. But I think we all do good in never assuming or relying on ANY company being our friends. Be vigilant

chillfox 2 days ago | parent | prev | next [-]

I keep important data on a zpool that's mirrored across 2 drives, I snapshot it nightly, zfs send/receive the snapshot a drive on a different machine, and run a borgmatic/borg backup to borgbase 3 times a week. I also run a scrub on it quarterly.

So I effectively have multiple layers of backups.

28304283409234 2 days ago | parent | prev [-]

Once a year I sync all media from my laptop to a USB disk. Once in a while I buy a new disk. This is more than enough backup for me.

BrandoElFollito 3 days ago | parent | prev [-]

> the experience isn't there yet without quite a lot of work.

Do you host this with docker? It is usually the pain-free approach