What I Self-Host
110 points by BrunoBernardino 3 hours ago | 52 comments

eleventen 28 minutes ago
> Sonarr, Lidarr, Radarr, etc. Every time I read about setting it up, it just sounds like a resource-intensive mess that’s fundamentally prone to frequent breakage. That’s the opposite of what I’m looking for when choosing self-hosted services.

I just checked on my *arr stack. Sonarr and Radarr idle at 157MB and 159MB of memory and approximately no CPU. Jellyfin currently idles at 330MB. I'm not sure where you got this impression from. I grant these tools are complicated and have somewhat clumsy UX, but they aren't especially heavy to run and are not fragile.

OP, point your :robot: at https://github.com/subdavis/selfhosted/blob/main/docker-comp... and ask for an explanation. It's a single compose file that illustrates how the *arrs, transmission, and jellyfin all work together. I'm sure you can set it up :)

reply
benoau 8 minutes ago
There's been two major disruptions in my experience.

First was Lidarr went for months last year (was it this year?) unable to search/add musicians due to complications with how they were relaying those searches. It took them a long time to refactor that part of the software and make it usable again.

Second was the retirement of Readarr, the ebook-version of this software, which was an absolute shame.

But aside from that this is pretty much set-and-forget software. Although the setting is harder than it should be, should be much easier to favour smallest x265 rips at <resolution>, lossless audio, season rips with subtitles.

reply
Cyph0n 14 minutes ago
Indeed. The other thing to point out is that, once you have set them up, they will chug along fine for years with near zero input.

Here is the stack I recommend:

* Radarr (movies) with optional second instance for 4K versions

* Sonarr (shows) with optional second instance for 4K versions

* Sonarr (anime), separate instance to have control over quality settings

* Prowlarr (tracker/indexer management)

* SABnzbd (Usenet)

* qBittorrent (torrents)

I would also recommend consulting the TRaSH guide to tune your setup and ensure you’re grabbing quality releases. From there, the next logical step is Profilarr :)

reply
ChadNauseam 6 minutes ago
Another good option is nixflix: https://github.com/kiriwalawren/nixflix (a nixos equivalent)
reply
birdsongs 24 minutes ago
I think it just sounds intimidating if one hasn't tried, but they are really well designed pieces of software, that are relatively simple to set up (just have to go through the motions and connect everything with API keys).

Highly recommend them to OP. My stack went down once in the past 4 years and it was my fault.

reply
Lucasoato 2 hours ago
> I prefer running services natively when possible, but will containerize complex services or those with many dependencies. Love: a service that’s a single Go binary. A service that only comes as a Docker compose file and wants to run MySQL, Redis, and three other containers? I’m already looking for an alternative.

Ok, I respect your opinion, but remember that there are poor souls like me out there that actually love the opposite.

reply
mtlynch 58 minutes ago
> Ok, I respect your opinion, but remember that there are poor souls like me out there that actually love the opposite.

All things being equal, why prefer Docker Compose? From my perspective, a single binary strictly dominates any Docker Compose solution.

reply
asciimov 34 minutes ago
Isolation from the main system, other services, and other dependencies.

Easy to migrate to new system.

Easy to upgrade and downgrade. When a new version causes an issue just restart it with an older version.

One directory to backup and restore that contains all the services and their settings.

reply
wilted-iris 30 minutes ago
It’s the unified interface for me. Updates, logs, service management, network routing, config and storage mapping are all uniform and I don’t have to wrangle many slightly different implementations of each. Isolation from installed packages is a nice bonus.
reply
turtlebits 46 minutes ago
Its a single config that lets you run multiple services (and can keep them running), upgrades are just editing an image tag.

Don't have to look at cli docs to figure out how to run it.

Doesn't have access to my file system, logs are easy.

reply
zzyzxd 27 minutes ago
I don't use Docker but I love reading the compose file when a project has it. It is the quickest way for me to get a high level idea of this project's architecture. It's the best documentation :)
reply
unshavedyak 54 minutes ago
Some isolation is nice. I say some because I’m told it’s security is not to be trusted, but I still like that even a non nefarious binary has ootb boundaries on what state will persist.
reply
Gigachad 23 minutes ago
Docker isolation is likely good enough if you keep your kernel up to date and aren't allowing 3rd parties to run code. If you are running a CI service or something you need micro VMs. But to host your nextcloud server, docker is good enough, it's unlikely someone will both exploit nextcloud and the kernel if you are keeping them up to date.
reply
dmtroyer 50 minutes ago
for long-running services, I've never taken the time to learn something reliable like systemd. with Compose, I can see everything I need to know in one yml file and the commands to go with it. I also don't have to really understand any dependencies or their own configuration and can cleanly remove everything associated with that service with a few commands.
reply
sergiotapia 2 hours ago
A big reason I chose Rust and Sqlite for my project was that end users could just run the small binary and be done with it. https://github.com/sergiotapia/joyscroller

I think you can go very very far with this kind of setup especially if it's just for you.

reply
turtlebits 34 minutes ago
Running all these services without a declarative/standard way of deployment, ie docker compose or k3s/k8s is a bit mind boggling to me.

I self host on a bunch of different hardware, OSes, providers. I want the least fiddling as possible.

reply
jauntywundrkind 30 minutes ago
Especially now when you can snap your fingers and get a semi responsible codified version. Heck just do what you want to them ask the LLM to port your work to something marginally better than a totally hand cobbled bucket of bits system.
reply
ebrahimh 46 minutes ago
Good article. I have many of the same services in my setup.

Self-hosting email fully is tedious/unnecessary, but what you can do is mirror your various inboxes (Gmail, iCloud, proton, non-corporate outlook) with mbsync and use roundcube or some other frontend to view emails and compose.

I use this to easily access mail from different services, and I can also send from any of them.

I also have a seperate service that watches the mail directory and sends a ntfy.sh notification for new emails.

It’s a bit complicated cause theres so many services but here are the quadlets: https://github.com/ebrahim37/infra-template/tree/main/homela...

I implemented this about a month ago because the iphone Mail app was increasingly buggy.

reply
gerdesj 11 minutes ago
"Self-hosting email fully is tedious/unnecessary"

If you IT, why do you particularly consider self hosting email as tedious?

reply
birdsongs 21 minutes ago
You can do this with Proton?? How does it handle decryption/encryption, etc?

Would absolutely love to do this, proton frontend annoys me at times.

reply
ebrahimh 52 seconds ago
I actually don't use protonmail but you should be able to access your mail with IMAP (both iCloud and Gmail support it so proton should as well).

mbsync mirrors your protonmail inbox to disk, dovecot hosts IMAP on your server, and roundcube or some other frontend connects to dovecot.

For gmail/icloud IMAP, you can't use your regular account password, you have to create an "app password" and use that password for mbsync.

reply
scottydelta 21 minutes ago
With the recent change in Bitwarden's license, not sure for how long they will continue to be self hosting friendly.

I am also using Vikunja instead of trello.

Tbh in general I am fine if the self hosted app uses postgres or a container Db instead of sqlite only.

reply
turtlebits 16 minutes ago
Self hosting is great. The access part is hard.

Pangolin was the missing piece I needed, to not expose my servers to the internet and easily have my services publicly accessible with built in auth.

Tailscale kind of worked, but it was a hassle needing the client on mobile device and it being a VPN.

With vibe coding, I have more of my own apps running than pre-built.

reply
bubblemoth 4 minutes ago
Wireguard is relatively simple. The VPN on my phone automatically connects when I disconnect from my home wifi, then it's like I'm at home.
reply
oscarteg 13 minutes ago
What tools did you create yourself?
reply
Havoc 2 hours ago
To each their own but running that much stuff without proxmox would drive me insane. Especially the native stuff straight on the machine.
reply
c45y 2 hours ago
With some small systemd configs each native app is essentially a container these days. The overhead of unique kernels per app would really restrict what could fit on a small box like this

DynamicUser and ProtectSystem keep me sane.

reply
birdsongs 16 minutes ago
Like the other person said, proxmox allows containers or full VMs, and the base OS takes less than 2 GB RAM.

My jellyfin LXC idles at a few hundred megs of ram, shares the base debian kernel, and if anyone does ever break in, they don't get access to anything else, anywhere else on my server. (All media is also mounted read-only to the jellyfin LXC.)

I really, really like it, just set it up recently. Everything in its right place.

reply
Havoc 36 minutes ago
Much prefer LXC + IaC to rebuild them, but much of a sameness
reply
XCSme 38 minutes ago
I've been building and self-hosting my own analytics platform[0] for 13+ years and never had any major issues with it.

The advantage is that if I do want a specific feature, I can just add it, and I am never worried about subscription limits or surprise charged, because I host it on a fixed-cost VPS.

Things don't really need maintenance and don't really break by themselves, the only time when they can sometimes break is when changing things.

You do need to have a proper setup though, for stuff like disk space alerts, knowing the common gotchas of disabling settings that can cause issues, etc.

[0]: https://uxwizz.com

reply
jamesstidard 44 minutes ago
Heya, nice read. I’m wondering how you managed to get LetsEncrypt certs minted when your caddy isn’t exposed to the public internet. Doesn’t LetsEncrypt need to make a request back as part of the handshake to mint/refresh the certificate?

Would love to know as I wanted to do the same in the past and ended up self signing certs.

reply
hexfish 43 minutes ago
Use the DNS-01 challenge.
reply
jamesstidard 38 minutes ago
Much appreciated
reply
bix6 48 minutes ago
For the self hosters: docker containers or not?

They are so easy / portable but perhaps systemd is a better option as the author suggests.

reply
LaurensBER 44 minutes ago
Podman + systemd is how I run production workloads at work.

For us it's the perfect balance between simplicity, observability (Beszel) and reliability. Not the right tool if you have dynamic workloads but definitely the right tool for boring and predictable workloads.

At home I run K3S, it's awesome. It also breaks a lot and does add a whole bunch of complexity that I would only recommend if you enjoy tinkering and fixing things.

reply
kombine 8 minutes ago
My server is running on NixOS and I went with systemd containers - really happy with my setup. It was not at all difficult to set it up with Claude
reply
ChadNauseam 3 minutes ago
I have a stupid question: if I'm using nixos why do I need docker or systemd containers? Especially with systemd sandboxing
reply
drdexebtjl 13 minutes ago
I personally use NixOS and a mix of systemd services and Quadlet-Nix for the few containers that have too many dependencies and moving parts. Works well.
reply
Cyph0n 12 minutes ago
Yes. NixOS running Podman containers is where I ended up after trying almost everything :)
reply
rhymnz 43 minutes ago
Personally I use docker with portainer to handle the stacks/containers, have done for many years. I like it.
reply
ticoombs 38 minutes ago
Docker containers are fine. I've moved between 5 NAS' over the years and docker has enabled it to be seemless.

rsync data directories. docker compose up. Done.

On the consumer or even prosumer nas products which have a semi-locked down system (ie Truenas/qnap/Synology). Technically you have root but as soon as you update the OS all/most of the changes end up being broken. Yes you could probably do something and deal with it. But personally I've spent too long babysitting it on the first and second nas that I no longer care.

reply
jp191919 23 minutes ago
For several years, Docker with portainer
reply
overtone1000 41 minutes ago
Why not have your cake and eat it too with quadlets?
reply
nozzlegear 33 minutes ago
Quadlets rule, I have tons of them configured for my professional and hobby/self-hosting services. Super convenient, I wish there was something equivalent for my Mac (launchd files just don't cut it).
reply
lifeisloving 31 minutes ago
Seems like dealing with this is a part time job. I commend it though.
reply
jordand 48 minutes ago
I recently bought a Lenovo Mini PC (01Q8X10) for under £300 that has a Snapdragon X1 CPU (and 32GB LPDDR5 RAM!) and it's turning out to be perfect for self-hosting running the newly released WSL Containers on Windows 11 with WSL 3 (it doesn't fully support Linux yet). Podman had some issues with WSL 3 that they're still releasing fixes for, but it's all working with that too.
reply
ThrowawayTestr 2 hours ago
After Google Assistant died I immediately installed Home Assistant on my old PC. Not as good, but at least it doesn't take 5 seconds to turn on a light like Gemini
reply
austin-cheney 2 hours ago
People twist themselves into a knot talking about AI as the future. Its more of a bubble waiting to pop. Self hosting is the real disruptive future.

The hardware to accomplish most things that we rely on from cloud vendors is absolutely trivial. My own home server is a used super cheap and tiny machine. The hard disks don't even fit in the box and yet it has plenty of CPU and memory to spare.

The software is getting easier to configure year after year eventually creeping to the point where elderly people too lost to use a remote will be running this stuff. The real challenge will be solving for easy access to private networks from public spaces across the internet. Right now everybody seems to be centering on vendor solutions like TailScale for this.

reply
MostlyStable 2 hours ago
I self host (I have a large overlap with the services in TFA), and love it. I will never go back and think that more people should self host (or at least...join small groups of people who designate one person to manage it for a small number of people).

And believing that the current AI economy might have a period of rapid devaluation in the near future is pretty reasonable. But, much like the original .com bubble, the idea that AI as a technology will not survive and thrive through such a pop, and become an ever more important part of our future, is a belief that I can't comprehend. Anthropic and OpenAI very well may go belly up. AI as a technology isn't going anywhere.

And as much as I'd like to believe that more people may self host more things in the future, self hosting will never, even if it was adopted by literally everyone, become as big a deal as AI, even if AI hit a wall tomorrow and didn't get any better than the current frontier models.

reply
mtoner23 2 hours ago
Self hosting has never been easier and I imagine the average person has never been further from trying it. No one will ever get anywhere close to hosting this much sruff
reply
VCFundedGenYer 2 hours ago
I stared self hosting in 2020 when Raspberry Pis were super cheap (not anymore :( ) and lots of things started becoming available in Docker. Haven't ever considered going back to the cloud. I love taking back full control.
reply
scottydelta 2 hours ago
I have been self hosting for over a decade and recently have seen more people in my circle doing that and I have been helping them.

At first it was hard but then i made it into a product. I am working on Tarvis.io which makes self hosting accessible to non technical users as well. It comes with installation assistant, ssl domains and backups inbuilt into it.

You can install open source apps from a catalog or drop any github repo and it installs and run it for you.

With Tarvis, I have been self hosting more since I am able to install and delete apps with one click, it makes it easy to try things.

reply