Why I self host my servers and what I've recently learned
Christian Hollinger shares his self-hosting experience, highlighting independence, learning opportunities, and challenges like power outages. He emphasizes the importance of redundancy and the adaptability of Proxmox with Raspberry Pi.
Read original articleChristian Hollinger discusses his experience with self-hosting servers, emphasizing the independence and learning opportunities it provides. He operates a three-node Proxmox cluster at home, managing various services such as PiHole for DNS resolution, TrueNAS for file storage, and a local Git server. Hollinger values self-hosting for its educational benefits, as it deepens his understanding of complex systems, which is beneficial in his role as a software engineer. He shares recent challenges, including power outages affecting his UPS and issues with his VPS, highlighting the importance of redundancy in systems like DNS. He also reflects on lessons learned, such as the quick degradation of UPS batteries and the advantages of redundant DNS setups. Additionally, he notes the feasibility of self-hosting applications like VS Code and the unexpected compatibility of Proxmox with Raspberry Pi. Overall, Hollinger encourages others to explore self-hosting for both practical and educational reasons.
- Self-hosting provides independence from corporate services and enhances technical skills.
- Recent challenges included power outages and VPS downtime, underscoring the need for redundancy.
- Learning about system management through self-hosting can improve understanding of complex infrastructures.
- UPS batteries can fail quickly, necessitating regular maintenance and testing.
- Proxmox can be adapted for ARM devices like Raspberry Pi, expanding hosting options.
Related
The FreeBSD-native-ish home lab and network
The author details a complex home lab setup with a FreeBSD server on a laptop, utilizing Jails for services like WordPress and emphasizing security measures and network configurations for efficiency and functionality.
Self Hosting 101 – A Beginner's Guide
Self-hosting involves running personal servers for control over data and services. It suits privacy-conscious individuals, tech enthusiasts, small businesses, educators, and cost-conscious users. Benefits include independence, customization, and savings. Challenges include technical complexity and security risks.
Buy or Rent? RaspberryPi vs. VPS
Andrea Grandi discusses choosing between a Raspberry Pi 5 and a VPS for self-hosting. He compares costs, complexities, and pros/cons. Grandi found a solution combining benefits, easy setup, and no cost. Personal priorities determine the choice.
Self-Hosting DNS
The author self-hosted a DNS resolver using AdGuard Home for customization, favoring it over Pi-hole. The setup involved Docker and SSL configuration, enhancing privacy and control over DNS queries.
Server Setup Basics for Self Hosting
The article outlines a guide for setting up a secure server for self-hosting applications, emphasizing SSH security, user management, log management, regular backups, network safety, and recommending NGINX as a web server.
- Many users express the challenges and responsibilities that come with self-hosting, including the need for reliable backups and succession plans.
- There is a growing sentiment that self-hosting should be more accessible to those who want the benefits without the technical complexities.
- Users highlight the high costs of cloud services, prompting a shift towards self-hosting as a more economical option.
- Concerns about data privacy and reliance on large corporations drive individuals to self-host their services.
- Some commenters share their experiences with specific technologies and setups, emphasizing the importance of learning and adapting in the self-hosting journey.
A friend and I figured all this out together since we met in college in the 1980s. He hosted his stuff and I hosted mine. For example, starting in 1994, we had our own domain names and hosted our own email. Sometimes we used each other for backup (e.g., when we used to host our own DNS for our domains at home as well as for SMTP relays). We also hosted for family and some friends at the same time.
Four years ago he was diagnosed with cancer and a year later we lost him. It was hard enough to lose one of the closest friends I ever had. In his last weeks, he asked if I could figure out how to support his family and friends in migrating off the servers in his home rack and onto providers that made more sense for his family's level of technical understanding. This was not simple because I had moved 150 miles away, but of course I said yes.
Years later, that migration is close to complete, but it has been far more difficult than any of us imagined. Not because of anything technical, but because every step of it is a reminder of the loss of a dear friend. And that takes me out of the rational mindset I need to be in to migrate things smoothly and safely.
But, he did have me as a succession plan. With him gone, I don't have someone who thinks enough like me to be the same for my extended family. I'm used to thinking about things like succession plans at work, but it's an entirely new level to do it at home.
So, I still host a lot, but the requirements are much more thoroughly thought through. For example, we use Paperless-ngx to manage our documents. Now there's a cron job that rsync's the collection of PDFs to my wife's laptop every hour so that she will have our important papers if something happens to me.
Thinking carefully enough to come up with reliable backups like this makes things noticeably harder because not all solutions are as obvious and simple. And it's not something that ever occurred to us in our 20s and 30s, but our families were one tragedy away from not knowing how to access things that are important soon after we were gone (as soon as the server had trouble). There is more responsibility to this than we previously realized.
My own personal DNS does not resolve to any Google/Facebook products, reducing profiling; but by denying their ad-revenue, I also deny myself access to information which IMHO should be truly available to the public (without using a private company's infrastructure).
I absolutely understand that many people will just say "don't block them, then." My argument is that governments should not host public items on private servers.
But I think there's a large untapped market for people who would love the benefits of self hosting, without needing to learn much if any of it.
I think of it similar to kit car builders vs someone who just wants to buy a car to use. Right now, self hosting is dominated by kit cars.
If self hosting is ever going to be as turnkey as driving a car, I think we're going to need a new term. I've been leaning towards "indie hosting" personally.
For me, one thing that stands out as something driving the desire to self-host everything is that large corporations, given enough time, invariably let us down. Christian's experience with Contabo illustrates the one game that I will do any amount of work to avoid: people who pretend to know what they're talking about but who really only waste our time in hopes to put off dealing with an issue until someone else actually fixes it.
The one place where I can't avoid this truly stupid game is with getting and maintaining Internet for my clients. You're not paying for "enterprise", with "enterprise" pricing of $750 a month for 200 Mbps? Then tough cookies - you'll get the same junk we force on our residential customers, and you'll never, ever be able to talk to a human who has any clue what you're talking about, but you'll be able to talk to plenty who'll pretend to know and will waste hours of your time.
The more time they waste of mine, the more energy I'll expend looking for ways to subvert or replace them, until I eventually rely on corporations for the absolute minimum possible.
Then I had to go restart my VM and reconnect my VPN. I am now thinking about switching to bitwarden premium and opt-out of self hosting for password managers.
a couple points
- proxmox hits an SSD pretty hard, continuously. I think with zfs, it probably hits even harder. A lot of it is every second keeping state for a cluster, even if you have only one machine.
- I bought mikrotik routers for openwrt. I tried out routeros, but it seemed to phone home. So I got openwrt going and didn't look back. I am switching to zyxel since you can have an openwrt switch with up to 48-ports.
- I used to run small things on a pi, but after getting proficient at proxmox, they've been moved to a vm or container.
- the most wonderful milestone in self-hosting was when I got vlans set up. Having vlans that stayed 100% in the house was huge.
- next good milestone was setting up privoxy. Basically a proxy with a whitelist. All the internal vlan machines could update, but no nonsense.
- it is also nice to browse the web with a browser pointing at privoxy. You'd be surprised at the connections your browser will make. Firefox internally phones home all. the. time.
For production, of course, it's all dual feed, generator, UPS with 10 year batteries, N+1.
They're terrible for understanding emergent properties of production systems and how to defend yourself against active and passive attacks. Critically you also need to know how to unwind an attack after you have been bitten by one. These are the most important parts of "self hosting."
Otherwise, you might be getting in the habit of building big rube goldberg machines that are never going to be possible to deploy in any real production scenario.
Make it real once in a while.
a) besides the some bootstrapping nuances you are not forced to have a working phone number to be able to use some resource. It's usually not a problem until... well until it became a problem. Just like for me yesterday when for whatever I tried but I couldn't register a new Google account. There is just no other option than SMS confirmation.
b) there is way less things to change 'for your own convenience', like a quiet removal of any option to pre-pay for Fastmail.
PS oh and Dynadot (which I was happy using for more than 10 years) decided (for my convenience, of course) to change the security mechanism they used for years. Of course I don't remember the answer for the security question and now I forced to never ever migrate from them, because I literally can't.
Containers now, like full-stack virtualization on x86 are and was advertisement stuff pushed because proprietary software vendors and cloud providers need them, other do not need them at all and devs who works for themselves and generic users should learn that: if you sell VPS et al. obviously you need them, if you made your own infra from bare metal adding them it's just wasting resources and add dependencies instead of simplify life.
Don't use Contabo! I have had this issue with different servers almost monthly, servers going down for 1 or 2 days, without any announcement or communication. They never say if anything is wrong, never apologies, have regular "unplanned maintenances", contacting support is almost impossible (or takes 3-4 days for a reply). As OP did, I am also migrating from Contabo to Hetzner.
1. My blog
2. My friends' blogs
3. BIND for all this
4. A mail-server on this
5. A MySQL database on this
All this was on a Hetzner server that was nominally set up to be correct on restart. But I was always scared of that because I built this up from when I was a teenager onwards and didn't trust my younger self and couldn't find the time to audit. 10 years afterwards, with 10 years uptime, and no consequences of data loss or theft (it might have occurred, just that nothing affected me or my friends) Hetzner actually warned me they were going to decomm the underlying instance and no longer supported that VPS.
I backed everything up, copied it, and for the last 8 years have faithfully moved from home to home carefully transporting these hard-drives and doing nothing with them.
When I finally set up everything again, I did it much more manageably this time, with backups to Cloudflare R2 for the database and resources, and Dockerfiles for the code. I restarted the machine and brought everything up.
And now I use GSuite instead of my own mail. I use Cloudflare instead of my own DNS. There's a lot I outsource despite "self-hosting". It's just far more convenient.
So the answer is that I had no BCDR on the old thing. Maybe I'll train my kids and have them be my BCDR for the new thing.
I moved to minio (in a GCP VM) and reduced our overall GCP bill by 70%. Yes, using cloud storage was 2/3 of the cost of our cloud infrastructure.
But overall, going too far in the self-hosted route has its costs. Hardware depreciation is one (and the author mentions UPS which seems huge in addition to being critical), cooling/powering, and of course the time for maintenance. If you are going this route you are doing this because you want to learn that stuff, not because you want to save the subscription. Otherwise, just use less services and keep price comparison lists updated.
As an aside, I find it amusing that commenters here say that they "self host" in the cloud. It ain't self hosting unless the server is under the same roof as the family!
They aren’t even self-hosting their own files, relying on Wasabi instead, and I do not understand why. Surely there is an HDD somewhere between those three nodes in the Proxmox cluster?
https://github.com/dani-garcia/vaultwarden
Also, if looking for a cheap/low power pi alternative. Check out used Wyse 5070s on eBay. They run DietPi easily and have M2 slots.
https://www.dell.com/en-us/shop/cloud-client/5070/spd/wyse-5...
This is especially true the open source systems like truenas scale. Any turnkey selfhosting software that's not implement a robust backup restore system is essentially holding your data hostage.
Related
The FreeBSD-native-ish home lab and network
The author details a complex home lab setup with a FreeBSD server on a laptop, utilizing Jails for services like WordPress and emphasizing security measures and network configurations for efficiency and functionality.
Self Hosting 101 – A Beginner's Guide
Self-hosting involves running personal servers for control over data and services. It suits privacy-conscious individuals, tech enthusiasts, small businesses, educators, and cost-conscious users. Benefits include independence, customization, and savings. Challenges include technical complexity and security risks.
Buy or Rent? RaspberryPi vs. VPS
Andrea Grandi discusses choosing between a Raspberry Pi 5 and a VPS for self-hosting. He compares costs, complexities, and pros/cons. Grandi found a solution combining benefits, easy setup, and no cost. Personal priorities determine the choice.
Self-Hosting DNS
The author self-hosted a DNS resolver using AdGuard Home for customization, favoring it over Pi-hole. The setup involved Docker and SSL configuration, enhancing privacy and control over DNS queries.
Server Setup Basics for Self Hosting
The article outlines a guide for setting up a secure server for self-hosting applications, emphasizing SSH security, user management, log management, regular backups, network safety, and recommending NGINX as a web server.