I run FreeBSD in my homelab, too! One reason is the stellar ZFS support, but the simple fun of doing stuff differently is definitely a thing, too. And I like FreeBSD jails.
For me, the balance between all the overhead of the "cattle, not pets" approach and the manual way is the a README.md file for basic setup, and then having Ansible stand up the rest of the configuration. The host is configured as a Jail host, then individual services live inside the jails. Creating and configuring the jails is also done through Ansible. Overall, I really like the setup. I can individually SSH into each jail to allow easy debugging, I can snapshot the jails, and data lives on a special ZFS subvolume that I mount into each jail at "/bucket". This way, I can throw away the jail at any time, fire up Ansible, and have everything up and running again in no time.
I really wanted to love FreeBSD. Growing up in grade school my friend's older brother was a contributor and I thought he was the coolest guy ever. I loved the ethos and I agreed with this post. But practically, I just ran I into too much pain.
- firewall? Lots of pain and hard to find friendly, best practice starter templates. Wherever I looked, people said "it's complicated." After a lot of tinkering and learning I finally got a setup that was pretty safe. (I think.)
- pm2 was buggy on FreeBSD because of some issue with process IDs getting lost. That was pm2's fault, not FreeBSD's. But I still wanted to simply run different processes and keep my logs somewhere. Well, I guess I could write rc.d scripts for that. But keeping logs from the processes started by rc.d scripts? That also appeared to be a world of pain, and wherever I looked for answers people said "it's complicated."
In the end, it was just too much having to re-invent the wheel for common server tasks and I had to say goodbye. It's not you FreeBSD, it's me. I'm just not an OS dev.
I spent a lot of time 25 years ago learning to love BSD in general, but FreeBSD in particular. I tried to make DragonflyBSD my desktop OS for a time. It’s sad how little love BSD gets nowadays…especially given how much of modern iOS / macOS owes BSD (for BSD subsystem that’s on top of the Mach kernel).
I recently set up an OpenBSD based router in our home and, man, it felt like a breath of fresh air.
I wrote about it here: https://www.blog.montgomerie.net/posts/2025-10-11-setting-up...
This really resonates. Sometimes the best reason to switch tech is just to feel that spark of learning again. I build self-hosting platforms and have spent years trying to make it “easy”, even getting it to work on Windows/macOS. But honestly, the magic isn’t in convenience. It’s in that figuring it out phase imho...
I still run a server for hosting my Jellyfin and n8n, but I've honestly been moving a lot of my stuff to cloud hosting stuff. I found that trying to maintain uptime for all my services started to become a pretty huge time sink and I realized that I really didn't gain anything by hosting my blog on my own server with Nginx instead of just using a free Cloudflare Pages with Quartz.
I think it's ultimately a sign of aging; I don't really have the attention span or energy to LARP as a sysadmin anymore, especially since I never really enjoyed that aspect of computers anyway. I think my monthly cost of storage would get untenable if I tried to move all my raw media rips to the cloud (about 45TB [1]), so I don't think I'll be able to migrate my Jellyfin for the foreseeable future, but I would like to some day.
[1] Looking it up, storing 45TB would end up costing anywhere between $250-$1500 a month pretty easily, which I currently cannot justify.
I'm using FreeBSD for self-hosting, home NAS and router from version 2.2.0. As it is my hobby projects, I don't want to migrate to Linux which is, IMHO, over-represented.
But it become harder and harder in recent years.
Reason? Docker.
Many current «server-side» products doesn't have good instructions how to install them «by hands» and is not very suitable for system-side packaging (creating port), as they have build systems designed to be used in CI with online access in build time (especially node.js-based and go-based ones, but rust goes same way).
Installation instructions, well-defined dependencies, good versioning, immutable source distribution files? Nah. «Take this Docker file and run it».
It is pity.
Nice website design. I don't like to use the same stuff I use for work at home because home is supposed to be fun.
So I used to have everything FreeBSD but I've stopped using around 2020 when I've started buying computers that have different core configurations like ARM RockChip and Intel Alder Lake. I believe the term is called big.LITTLE when you have efficient and performance cores.
As of now the FreeBSD scheduler is not making full use of big.LITTLE. TBF It works and your mileage might vary and you might also pin stuff to cores but not ideal.
Meanwhile I went back to Linux and fell into the Nix rabbit hole.
I might go back once they get ULE to be able to use my Alder Lake efficiently.
I know the feeling, having recently migrated a solid TrueNAS 13.3 to a hand-built FreeBSD 13.5. The main reason was to get OpenZFS 2.3 RAIDZ expansion as storage was getting tight. It turns out to be quite similar using Webmin for GUI and BastilleBSD for jails.
There were a few hiccups, such as learning about bootloader versions, but after a few Saturdays tinkering it has been running solid and I’m very pleased.
I used FreeBSD as my daily desktop for a while in the 2000s. IIRC, the package manager had to compile each package from source, but that wasn't a huge deal. Things just worked in a non-overly-clever fashion.
Just two weeks ago, I spun up a FreeBSD server on OVH and migrated a service to it from Railway. Playing with jails, pf, ZFS, and some other goodies has been a lot of fun. Since I (massively) over-provisioned, I also spun up Gitea, Woodpecker CI (and agent; blazing fast CICD is so nice), and a personal blog. Been a great learning project.
[] It's not my first time with FreeBSD. I first ran it in ~2004. But it's been over 10 years since I last ran it, and I'd forgotten a decent bit. The last time I ran it, I just set up a couple of jails for NAS and Plex and proceeded to not touch it until I moved.
How is the situation with applications in BSD?
I never see an app released for FreeBSD. There are usually Deb and rpm files.
I suppose FreeBSD adapts and releases some them in their ports. But how is the coverage?
Another issue is the hardware support. Does it have drivers for things like recent WiFi chips?
NIXOS! NIXOS!! NIXOS!!!
Having never used anything beyond Linux, Windows and Mac, what would be a good starting point? Can I expect gnu/coreutils to work as is (ls, cd, pwd, et al.). Can I expect to not get bitten by arbitrary issues? What if one of the emacs packages that I am accustomed to using doesn't work there due to a dependency on something that is Linux only? How likely/possible is that?
Is *BSD routing performance still lagging behind Linux? On Debian 12, I can saturate my 25Gbps link between PCs (the router has a 9600X), and can push north of 4Gbps through Wireguard.
I find myself using BSDs at home too, I got a bunch of very old systems that only NetBSD supports these days. Very old SPARC, HP 9000s and the likes. Everything else is Linux, but maybe I'll try one of the BSDs on something more modern...
> it deviates a bit from what might be the most common setup, but it's undoubtedly me
This is delightful. Personal projects are a great place to buck the technical monoculture and try something unique. I really enjoyed reading this.
I run OPNsense (based on FreeBSD) for my home router/firewall and it's amazing what it can do compared to the typical home router.
I have used FreeBSD back in 1999 to provide hosting services for a company that I have worked. Web server, DNS, POP/SMTP, FTP and squid cache proxy .it was used also internally for DHCP and NAT routing (since we had only one public IP). Just configured it like an appliance and never had a problem, even uptime was counted in months (exception was package and kernel upgrades).
what about docker/containerd compatibility? is now possible to run on freebsd?
Web rings on HN content. That was a 20 min nostalgia trip. Thank you
The lack of full rust support has kept me from developing on FreeBSD. I prefer it as a file server.
I feel like these "self-host and free yourself" articles would be better served giving us an estimate on the amount of time they spent on the process. That might help sell people more if I know it will take me 3 hours to setup a Bastille VPS w/jails for Caddy website, syncthing, Cal/Card/WebDAV, etc.
Then I can put 1.5 hours of effort into it one day setting up and getting used to Bastille and another 1.5 hours another day installing my software. Maybe my request is silly but most people say "I don't have the time or patience to self host" but what does "dont have the time" mean? Sure it's variable from person to person. It might increase interest in self hosting if people have a better idea of what they would be getting into.
This would pair well with encouraging a system like Bastille that just wants to get out of your way (two contextual views of time-savings).
Love seeing BSD still getting real use, old school tech with true hacker vibes!
Don't forget to set up toor user password! /thin foil hat on It's deliberate! /thin foil hat off
Why choose Free/OpenBSD instead of Debian, CentOS, or any other distro?
All of this person's problems seem to stem from a practice of implementing business style setups at home. The truth is you don't need any containerization/VMs for a home server setup. You don't need all the nines for uptime either, it's perfectly okay to be offline for a week or whatever. It's your stuff! No one else has a say. The idea that everything has to be running on a separate OS from the one you use is a killer.
You don't need to start over in a new OS for this. Just don't cargo cult. Linux can do all this fine natively without containers and without risk in very straightforward ways if you ignore all the "deployal" memes or ideas of fallbacks. Just install nginx from your repos on your desktop, throw in some .html files to a directory and play.
Its fine to have fun with self-hosting.
The problem is when self-hosting amateur stuff leaks into professional life.
And then you have a expert beginner pushing their homelab/Self-hosting
Make self hosting fun - true. Using FreeBSD... - Seriously?
Can we leverage AI for thr man pages and how to get things done? Anyone know if the llms are relatively trustworthy with their how to?. The assumption is because rhe man pages are well curated and the bsd's don't change much, source of truth is a bit more universal than other OS's.
Somewhat related OpenBSD is the fundament of my self-hosted homelab since it runs DNS, DHCP, a firewall router and a small local web server. Configuration is a dream compared to Linux and probably even compared to FreeBSD. You just need to go through the FAQ and copy&paste the relevant examples and modify them as needed. I don't know why it's so complicated on Linux where you need to appease a handful of daemons and find your way through a labyrinth of config files. I run a separate Linux based KVM host though.