SSD Nodes Learn
Guides Matt ConnorBy Matt Connor · Updated 2026-07-16

FreeBSD 15 for servers: what makes it good

FreeBSD 15 is a serious server operating system: ZFS, jails, pf, and one coherent base system. Here is what it does well and where it fits.

What FreeBSD 15 is, in one paragraph

FreeBSD is a complete server operating system, not a kernel plus a distribution built on top of it. The people who write the kernel also write the core userland, the documentation, and the release, and they ship them together as one versioned whole. FreeBSD 15 is the newest major release of that system. If you have only ever run Linux, the one idea to carry in is this: on FreeBSD the base system is a single project, and the packages you add sit clearly on top of it. That one design choice explains most of what people like about it.

I run Linux for most of what I do, and SSD Nodes is a Linux VPS host. FreeBSD is still my favourite server operating system to sit down with, and this post is about why. One honest aside: we do not offer FreeBSD VPS plans, because the demand is thin. People who love FreeBSD usually run it on their own hardware rather than renting it, so the VPS market for it stays small.

What is new in FreeBSD 15

The headline change in FreeBSD 15.0, released in December 2025, is pkgbase: the base system itself is now installed and updated as pkg packages. The installer offers it, and the official VM and cloud images, which is what you get on a VPS, use pkgbase by default. The older freebsd-update tool still works for the 15 branch, but it and the distribution sets it relies on are slated for removal in FreeBSD 16, so pkgbase is the direction of travel, not an experiment.

The base system versus the Linux distro model

If one difference explains FreeBSD, it is this one, and most of the others grow out of it. On a Linux server you run a distribution. The kernel comes from one project, the C library from another, the core commands from another, and your distribution's maintainers assemble those pieces and pick versions that work together. It is a lot of coordination, and it works, but the seams are real: an upgrade can move some pieces and not others.

FreeBSD draws the line in a different place. The kernel, the standard commands, the C library, the firewall, and the boot loader are one source tree with one version number. You upgrade the base system as a unit: with freebsd-update on older installs, or, on the pkgbase installs that FreeBSD 15 cloud images use by default, with pkg itself. Everything else, your web server, your database, your language runtimes, comes from pkg packages that sit on top of the base rather than being woven into it. Even with pkgbase, where one tool now updates both layers, "the operating system" and "the software I installed" remain two distinct layers you can reason about on their own.

ZFS as a first-class citizen

ZFS is the filesystem most people come to FreeBSD for, and on FreeBSD 15 it is a first-class part of the system rather than an add-on you bolt in. ZFS combines the filesystem and the volume manager into one thing, which gives you checksummed data that detects silent corruption instead of trusting the disk, instant snapshots, cheap clones, and zfs send and zfs receive for shipping a filesystem to another machine byte for byte.

For a server that matters in a concrete way. You can snapshot a dataset before an upgrade:

zfs snapshot zroot/ROOT/default@before-upgrade

and if the upgrade goes wrong, roll straight back to that exact state. FreeBSD's boot loader understands ZFS boot environments, so you can roll the whole operating system back to a snapshot taken before you touched it. Linux runs ZFS too, through OpenZFS, and runs it well. The difference is that on FreeBSD it is wired into the installer, the boot loader, and the update tools from the start.

Jails: containers before containers were common

A jail is a lightweight, isolated environment that shares the host kernel but has its own filesystem, users, network, and process view. If that sounds like a container, it is, and jails predate Docker by about a decade. FreeBSD 15 continues to sharpen them.

The mental model is simpler than a full container stack. A jail is a directory tree plus a small config, running real FreeBSD userland against the host kernel. You do not need an image registry or a background daemon to get isolation. For a server that hosts several separate services, jails give you strong separation with very little overhead, and tools like bastille make them pleasant to manage. This is the same instinct as running each service in its own Docker container, reached from the other direction.

pf, the firewall you will enjoy writing

FreeBSD's packet filter, pf, is widely liked for one reason: its rule syntax reads like plain sentences. A ruleset is a file you can read top to bottom and actually understand. Compared with hand-writing iptables/nftables rules on Linux, pf feels like it was designed for a human to maintain. If you have ever fought a wall of iptables lines, pf is a relief.

Where FreeBSD fits, and where it does not

FreeBSD is a strong choice for storage servers because of ZFS, for firewalls and routers because of pf, and for any server where a stable, coherent base and clean upgrades matter more than chasing the newest kernel feature. Its documentation, the FreeBSD Handbook, is one of the best manuals in the whole open-source world, and reading it is the fastest way to learn the system.

It is not the right pick for everything. The container ecosystem is smaller and Linux-first, so if your whole workflow is Docker images and Kubernetes, you will be fighting the current. Some proprietary drivers and vendor tools are Linux-only. And most self-hosting tutorials, including many on this site, assume a Linux distribution. For a broad picture of what a home or side-project server can run, the self-hosting overview is written for Linux but the ideas carry across. For a direct feature-by-feature look, read Linux versus FreeBSD for servers.

For a different comparison, Linux versus Windows Server weighs the other big server platform against Linux.

FAQ

Is FreeBSD 15 good for a server?

Yes, for the right jobs. FreeBSD 15 is a stable, coherent server operating system with ZFS, jails, and pf built into the base, first-class documentation, and clean, unit-at-a-time upgrades. It is especially strong for storage, firewalls, and long-lived services where you value predictability over having the newest kernel feature. It is a weaker fit if your workflow is built around the Linux-first container ecosystem.

What is the difference between the FreeBSD base system and Linux?

On Linux, the kernel and the userland come from separate projects that a distribution assembles. On FreeBSD, the kernel, the core commands, the C library, the firewall, and the boot loader are one source tree with one version, upgraded as a unit — via freebsd-update or, on pkgbase installs, via pkg — while everything you install remains a separate layer of packages on top. That split between base and packages is the core structural difference.

Can I run FreeBSD on a VPS?

You can run FreeBSD on a VPS from hosts that offer it, though the choice is narrower than for Linux. SSD Nodes does not offer FreeBSD plans, because demand is thin: people who run FreeBSD tend to use their own hardware rather than a VPS. Many FreeBSD servers are physical machines the owner controls directly.

Do I need to know Linux before trying FreeBSD?

No, but it helps. The shell, SSH, and most day-to-day commands feel familiar if you have used Linux. The main things to learn fresh are the base-versus-packages split, pkg for software (and, on FreeBSD 15 pkgbase installs, for the base system too, with freebsd-update on its way out), and pf for the firewall. The FreeBSD Handbook walks you through all of it.

#freebsd#freebsd-15#zfs#jails#server-os#bsd