My Self Hosting Journey
My Self Hosting Journey
![](https://feddit.nu/pictrs/image/16f3795f-b878-4fda-b360-6b6d3c12d5fc.jpeg?format=webp&thumbnail=128)
![](https://feddit.nu/pictrs/image/16f3795f-b878-4fda-b360-6b6d3c12d5fc.jpeg?format=webp)
My Self Hosting Journey
Why not rasberry pi with kubernetes?
I think any mini-pc/old laptop is better, and probably cheaper than a raspberry pi nowadays
I would have disagreed with you when Pis were like $50 and chaining 3 Pis together with a hard drive was a fun project to do self hosting.
Now to get to the beefiest raspberry pi, it's $120. And in the range, yeah, for price and reliability, use a mini-pc/laptop.
I think the pi zero might have a place, don't have one but at least it is actually cheap. Used an old laptop before, now running stuff on my PC which I feel was a bit of a mistake in a way but it started as one process and more appeared over time.
At some point would like to move it into a VM tbh, then I could copy the VM to a mini PC at a later date. Or easily copy it when reinstalling the OS on my main PC. VM for convenience and separating it from my general PC usage.
Yeah honestly i can't get anything done with a raspberry. Maybe i host too many services ?
Nah, they are underpowered for their current price. When you could get your hand on a raspberry pi 3 for 35€ 10 years ago it was a bargain. But now it's not the case.
Honestly Raspberry Pis are pretty underpowered as hosts for more than a handful of super basic services, and given they consume 20-30w at minimum you're easily getting into used office desktop territory where you can get a ton more performance right out of the gate.
The real value in the raspberry pi is in the GPIO and the cohesive ecosystem of accessories to plug into said GPIO. You can do so many cool automations and controls using just an RPi (especially if combined with something that can't be accomplished more cheaply and easily with an ESP32) but as a server host they're pretty crap in comparison to a decade old business PC off of eBay
I need
It's just fun to play with, there is no "need".
Yeah, I enjoyed my time with k3s setup at home as well, but right now I don't really want nor need that 😄
I need a kubernetes cluster with high availability, load balancing and horizontal pod autoscaling, because that is something I want to learn. I don't care that it's just for wife's home-made dog collars webshop.
Yeah that's basically it for me. I have a collection of dev boards, old hardware and stuff other people were tossing out set up for a variety of purposes (Kubernetes clusters, two build farms, network boot, etc.). None of it is because I feel I "need" any of that for self hosting. In practice two old desktops with a bunch of drives would be perfectly capable of providing everything I need including redundancy. I have all that stuff because I'm learning and experimenting.
This is the way
You can do it on a handful of Raspberry Pis rather than one, then.
I don't get this; a Pi isn't even in the same conversation as an old rackmount server you can get for free. You couldn't stuff half the compute, ram and storage into a Pi or a dozen Pis for 10X the cost of grabbing something off eBay for a hundred bucks.
That's if the Rpi Foundation is deigning to let us peasants even buy them these days.
This struggle usually takes place over a weekend.
This guy selfhosts
I've found that a pi is good enough, computationally, but not reliability wise.
A lot of things like advanced light control goes through my host, so any lockups or crashes are bad. My pi held up for about 18 months before it began to play up. I've found a small NUC system has higher reliability for the same price and power usage.
Kubernetes is designed to improve reliability
That doesn't help against hardware thermal runaway. The pi would overheat its own ram chips and hard lock up. A simple power cycle fixed it.
Switched from a raspberry pi 3 to a second hand x86 thin client (lenovo thinkcentre m920q) because raspberry pi 4 were not available at the time. Made me learn proxmox and a bunch of other cool stuff my raspi couldn't handle.
I'm rooting for ARM / RISC-V to become more popular in desktop computing / servers though.
I've always liked riscv. Just the idea of literally everything on the device being open source is a fun idea. Manuals to everything.
Just because the ISA is open source doesn't mean that the end product or even the design will be open source.
RISC-V is licensed permissively, giving anyone the right to make a proprietary (or FOSS) RISC-V processor.
Often times, you'll see mostly open source cores, but then some extention is proprietary.
I did similar once the pi4s were hard to get and expensive. A used x86 mini pc was cheaper and magnitudes more powerful. It runs all my server needs. I’m a simple person: homebridge, plex server, retro game library.
Waiting for proxmox-arm becoming a thing (I know there's some community versions trying it but I'm not sure how reliable they are)
Is there RISC-V hardware already? I thought the specification was still under development.
i think the best choice is a cheap used pc or laptop, or server. Reduces electric waste. I also host my own server on a 19 year old Dell Insprion 1300
Reduces electric waste
A lot of older equipment actually wastes more electricity.
But it will cut down on electronic waste.
Yeah, I expect there is a compromise somewhere but 10+ year old stuff which I can easily find on eBay probably just isn't worth it for anything that is going to be on most/all of the time. Better to go for more modern lower end stuff to use less power. 250w will cost you like £50 a month to run
Think centre tiny here
Low consumption, two ddr4 slots, one 2.5" slot and one nvme slot! Lots of outside slots.
Costed less used than a new pi too. They have gotten too expensive IMO.
Pi has gotten crazy expensive.
Yes, but also no. Older hardware is less power efficient, which is a cost in its own right, but also decreases backup runtime during power failure, and generates more noise and heat. It also lacks modern accelerated computing, like ai cores or hardware video encoders or decoders, if you are running those appd. Not to mention lack of nvme support, or a good NIC.
For me a good compromise is to recycle hardware upgrades every 4-5 years. A 19 year old computer? I would not bother.
I have a Lenovo M710q with a i3 7100T that uses 3W at idle. I'm not mining bitcoin, server is idle 23h a day if not more.
my 19 year old laptop runs the web server just fine, and only needs 450 mb ram even with many security modules. it produces minimal noise
Yeah what I’ve always done is use the previous gaming/workstation PC as a server.
I just finished moving my basic stuff over to newer old hardware that’s only 6-7 years old, to have lots of room to grow and add to it. It’s a 9700k (8c/8t) with 32GB of ram and even a GTX 1080 for the occasional video transcode. It’s obviously overkill right now, but I plan to make it last a very long time.
exactly, you can still do HA and LB on old gear, even K8s if you must
They take up so much space though.
This is why rack mounts were made. Hell, I've seen a lot of custom builds where people have mapped out the server on their wall and it takes up no floor space. Something like this: https://i.xno.dev/kG9Wx.jpg
I have been in for a couple months now, Proxmox cluster with two machines.
Works out nicely as I crash the first one too often and the DHCP going down was unacceptable, wish I got a slightly better cpu for the minipc but meh, maybe I can upgrade it later.
To be fair, also love the mini pc's and having a larger NAS. For me the PoE capabilities of the Pi's are definitely the reason I use them
A mini PC is a good middle ground. Mostly for the video transcode and machine learning power.
Yeah, a mini PC... or if you already have one, why not 5 mini PCs?
That's what Iam aiming for at the next hardware update. I don't have the space for a server rack and a SFF desktop would also not fit into my home, so a miniPC it'll be. I cannot wait to move to x86.
I'm not sure if I'm alone in this but I have a terrible aversion to transcoding. I know the loss of quality is probably not that huge (depending on the original codec) but I just can't bring myself to get past it.
As a result I have a tiny arm based box with a 2tb SSD and I'm happy out.
The HAT-ability of RPi makes them enough for me. You can add sata ports, PCIe, and more with a simple HAT.
any recommendations on hats for sata?
Been running one from Radxa for a while. Just make sure to check the power requirements of your drives.
a pie is neat. thats it. does it have enough ram for hosting & running all your containers? no.
See, I don't pay for the electric bill to keep my collection of old enterprise equipment running because I need the performance. I keep them running because I have no resistance to the power of blinkenlights.
So close. Started on raspberry pi. Went for a cluster with dpckrt swarm. Finished with a nas and a 10years old game computer as a mediacenter. (That the electricity bill whoch made me stop the cluster)
I ran lots of containers on a Pi 4 but recently purchased two cheap Chinese mini PC's with 16GB RAM and an SSD. They're so much faster and only a bit dearer than a Pi. I run Proxmox on both.
Absolutely nothing wrong with the Pi though. The Pi 4 lives on with a USB drive attached. I have NFS configured on it to backup my Proxmox VMs to it. It also hosts all the media for Jellyfin.
If you think about it, the kubernetes nodes often are only raspberry pis specwise. 2-4 cores, 8-16gb of ram
The only problem I've had with Raspberry Pi is that some apps want to write a lot of stuff to "disk", and the default "disk" on a Pi is a MicroSD card which dies if you keep writing things to it. Sure, you can always plug something into a USB slot, but that adds a bit of friction to the whole process.
Oh, also, I wish it were easy to power a whole bunch of Pi units. Each one needing its own wall wart is a bit annoying, and I've had iffy results using weaker, less steady power supplies with multiple ports intended for things like phones.
I ended up just buying an industrial mSD card. Has yet to fail.
I really recommend a HAT with SSD, totally worth the investment.
Yeah, but then you have to get a kind of case that can handle a Pi plus that hat. It's a good idea, it's just a bit more fiddly than just the typical booting from the SD card and doing everything that way.
Most SD cards aren't really suitable for the kind of workload an operating system generates (that being mostly random i/o). Make sure to get a reputable A2 (application class 2) rated card, they aren't that expensive but perform way better.
Raspberry Pi themselves launched a card recently, I haven't tried that one but it's probably a good choice too.
I had to buy a lenovo thinkcentre mini because was cheaper than a brandnew raspberry pi.
I've discovered that there are a lot of medium-tier software engineers who immediately will go straight to horizontal scaling (i.e: just throw hardware at it), and I've seen instances where very highly skilled engineers just write their code better, set things up on a bare metal server, cache things, etc. and manage with just a single badass server
Even just the choice of programming language makes a big difference. Running a JVM language or NodeJS, Python, Ruby etc., you can be bottlenecked by a Pi. Meanwhile, Rust or C/C++ will use barely a fraction of those resources.
Right? I just spin up another process on my home server. No need to get more hardware involved for something that's inherently a software problem.
Same, in fact you can also went down in RPi models. Basically the more you know, the less you need, e.g. going from Plex to Kodi to minidlna...
Yup, a pi is enough for me.
Well... 5 Pis and an ancient NUC running proxmox are enough for me. And a DS920+... and an old laptop running docker are enough for me.
I have literally been on this exact journey. Mind you I'm on NixOS across two boxes so not quite a raspi... Perhaps my downsizing is not yet complete
With Linux any old computer from yesteryear can become a quick server. That's what I do, just make sure you got backups.
I've literally tossed working computers of the exact same model as my home server into the ewaste bin at work. One person's trash and all
My home server is literally made from garbage left over from other PCs. The motherboard is currently some piece of junk from a prefab PC with a custom power socket, so I got to make my own adapter from scratch.
Floor PCs FTW
Yup! When I built a gaming comphter last year my old desktop became my first dive into linux. Probably overkill, but ive been having a blast with it.
Nice!
Absolutely the best way to learn though. The number of places I've walked into that had no clue about containers or even a vpc and thought Google drive was an API is too damn high.
I have actually had to write something that used the Google drive API for a friend's company once and it was... Unpleasant. Counterintuitive. Woefully inconsistent. My solution worked but it sucked and I am a bit ashamed of it
thought Google drive was an API is too damn high.
horror
Or you learn proxmox and running everything as a VM
Just learn docker
Docker is so bad. I don't think a lot of you young bloods understand that. The system is so incredibly fragmented. Tools like Portainer are great, but they're a super pain in the ass to use with tools/software that include a dockerfile vs a compose file. There's no interoperability between the two which makes it insurmountably time-consuming and stupid to deal with certain projects because they're made for a specific build environment which is just antithetical to good computing.
Like right now, I have Portainer up. I want to test out Coolify. I check out templates? Damn, not there. Now I gotta add my own template manually. Ok, cool. Half way done. Oops. It expects a docker-compose.yml. The Coolify repository only has a Dockerfile. Damn, now I have to make a custom template. Oh well, not a big deal. Plop in the Dockerfile from the repository, and click "deploy." OOPS! ERROR: "failed to deploy a stack: service "soketi" has neither an image nor a build context specified: invalid compose project." Well fuck... Ok, whatever. Not the biggest of deals. Let me search for an image of "soketi" using dockerhub. Well fuck. There are 3 images which haven't been updated in several years. Awesome. Which one do I need? The echo-server? The network-watcher? PWS?
Like, do you see the issue here? There's nothing about docker that's straightforward at all. It fails in so many aspects it's insane that its so popular.
I spend all day at work exploring the inside of the k8s sausage factory so I'm inured to the horrors and can fix basically anything that breaks. The way k8s handles ingress and service discovery makes it absolutely worth it to me. The fact that I can create an HTTPProxy
and have external-dns automagically expose it via DNS is really nice. I never have to worry about port conflicts, and I can upgrade my shit whenever with no (or minimal) downtime, which is nice for smart home stuff. Most of what I run tends to be singleton statefulsets or single-leader deployments managed with leases, and I only do horizontal for minimal HA, not at all for perf. If something gives me more trouble running in HA than it does in singleton mode then it's being run as a singleton.
k8s is a complex system with priorities that diverge from what is ideal for usage at home, but it can be really nice. There are certain things that just get their own VM (Home Assistant is a big one) because they don't containerize/k8serize well though.
Yup, same here. being able to skip all the networking and DNS hassle and have it automated for you is so nice.
Having databases fully managed with cnpg is AMAZING
I just have renovate set to auto update my argocd, so everything just runs itself with zero issues. Only the occasional stateful container that has breaking changes in a minor version.
If something OOMs or crashes, it all just self heals, I never need to worry about it. I don't have any HPAs (nor cluster scaling obv), though I do have some HA stuff set up just to reduce restart times and help keep the databases happy.
The main issue with Kubernetes is that a lot of self-hosted software makes bad design decisions that actively make kubernetes harder, eg sqlite instead of postgres and secrets stored in large config files. The other big issue is that documentation only supports docker compose and not kubernetes 90% of the time so you have to know how to write yaml and read documentation.
Moving my hass from a statefulset to kubevirt sounds tempting. Did you have better reliability/ergonomics? I have been looking into moving my Hass automation to NodeRed, so that I can GitOps it all, since NodeRed supports git syncing.
I still like vms on digital ocean. I guess I'm a seething soydev.
I use a DO droplet with docker compose. Filthy dev here too. Much cheaper overtime than buying and hosting home server equipment.
Ha ha
Under-complicated -> over-complicated -> under-complicated.
There's a 'just right' that I think you skipped through.
rPi with k3s installed
None of the power, all of the hassle 💪💪
k3s
kbnts?
That's not a typo: https://k3s.io/
It's basically a Kubernetes cluster, which you can run locally on your PC. Really useful for playing around with Kubernetes before you move to a 'proper' environment.
How does that compare to microk8s? I have been using that for a while and like the plugins.
I love my little k3s box and having all my config in git
As a developer and not a sysadmin, I refuse to learn anything more than docker. It's good enough for me 😤
Edit: on a more serious note, proxmox with docker containers has been more than enough for me
I've met sysadmins who say that unironically 😅
Do you run Docker in a VM or on the host node? I'm running a lot of LXC at home on Proxmox but sometimes it'd be nice to run Docker stuff easily as well.
I've been enjoying Jeff Geerling's ongoing experiments with his 10" Raspberry Pi mini rack.
It doesn't work for me since all of my network equipment is 19" and there's no point in having two racks but having a 10" standard is still a great idea!
Off-topic but can you tell me why your name is red? I use Voyager and your name is red, it should mean something, right?
Wait, you can host a website on a raspberry pi !? But is it really cheaper than shared hosting, for instance? And even then, quality-wise, it cannot be that good, can it?
Same as a 4x CPU with 8GB ram VPS.
Unless bandwidth is a limiting factor.
But the quality of a website is about code. Not about hardware
You can host a website on a lot less, even. But it entirely depends on what you're hosting and the load. Basically anything can host a bunch of static pages, so if your site is just that, basically anything will do. You could probably even do a WordPress site with the right caching plugins and serve a reasonable amount of traffic. The first limit you'll hit realistically is your uplink, not your webserver CPU.
My understanding is raspberrypi.com is hosted on raspberry pis. It's a Linux computer; it can do anything a Linux computer can do.
You can definitely run a low traffic website with a Pi. You can run Minecraft Servers and such on Pis. Especially on Pi4s.
An n100 PC is much better than that crapberry pi
Certainly tempted by one, any particular ones to look for? UK here, currys out of stock on an MSI one and Amazon is full of names I have never heard of and half the time it comes with Windows pro which is just a waste of money buying with the hardware.
I got the ASRock motherboard with the n100 cpu and built a PC with it. Right now, I just have it running two 3 TB hhds in a zfs mirror and it's working nicely.
I wanted to get a raspberry pi at first but it was stupidly expensive in my country and, for what it offered compared to a normal x86 system, it was not worth it.
N100 is two years old now. If you're going to suggest a mini PC, at least suggest one with a current gen CPU.
I'm actually just about to start up my server again on a rp4. It's been like 5 years since I've used it. Is dietpi still the best way to go about making a Plex media server/bare bones desktop environment that I can access with 'no-machine'?
I sear no machine just broke my autoboot setup one day and I never got around to fixing it. What do you nerds think?
I'm not interested in video streaming, just hosting my music collection and audiobooks. I remember FTP being a pain to transfer music files from my phone
Random mixed parts -> 4u unraid server with switch -> random fedora Optiplex that never fails unlike 4u server
Unraid is very unstable and hard to repair when it breaks
That’s very my experience as well. It’s just a worse version of Linux with nice mixed drive support.
Yes, you can optimize a lot. Especially with Linux. I did the same and even started to replace program that did too much, bloated, with my own programs. To speed up the development I did it with AI and Cursor.
three raspberries pi running k3s is good enough for me
Do you run Docker in a VM or on the host node? I'm running a lot of LXC at home on Proxmox but sometimes it'd be nice to run Docker stuff easily as well.
Just create an LXC container to run your dockers, all you have to do is make sure you run the LXC as privileged and enable nesting.
Thanks for the tip, for some reason I assumed I couldn't run docker in LXC but never actually tried... I prefer to avoid the overhead of a full VM and I find LXCs way easier to manage from the host system. Guess I'll have something to test this weekend. Cheers!
Unraid FTW.
I bought a decade old Z840 and it's great for VMs, Plex, Arr stack, and a few other services but it is so overkill with 2 GPUs. I think what I should've done was buy a couple of used desktops or laptops to expand the my homelab as I needed.
Ain't nobody got time for that
Raspberry Pis are way overhyped and overpriced.
Also this is totally wrong. Once you start it just keeps growing unless there is some other factor.
You’re just in the middle of the curve still …
And yes, pi’s are waaaaaay overpriced now. Get a used mini pc with a 6500T in it for server needs. It’s more than enough and maxes out at 65W. Most of the time it idles near 12W.