Mastodon

FreeBSD Articles


Automating FreeBSD Jails with cdist - Zero Dependencies Inside the Jail

cdist is refreshingly minimal - the target only needs POSIX sh, and the control machine speaks ssh. But cdist expects one ssh endpoint per host, and FreeBSD jails are not normally their own ssh targets. Two small Python wrappers plug cdist into jexec on the host, so configuration state flows into every jail without running a single daemon, agent, or Python interpreter inside the jail itself.

Podman on FreeBSD: OCI Containers Without systemd

Podman runs on FreeBSD too - but without systemd, the workflow is different. This follow-up to my Linux Podman deep dive covers how to run both native FreeBSD and Linux OCI containers on FreeBSD, how container lifecycle management works without Quadlets, and how Podman complements Jails rather than replacing them.


FreeBSD Foundationals: ZFS - The Last Filesystem You’ll Ever Need

The second in the FreeBSD Foundationals series. This one covers ZFS from philosophy to practice: why it exists, how pools and datasets work, what checksumming and self-healing actually do, how to tune recordsize, compression, and atime, how encryption works with key management, how snapshots and the hidden .zfs directory give you time travel, and how ZFS send/recv turns backup and migration into a solved problem. Includes a look at sanoid/syncoid for automated snapshot management.


HTTP/3 on FreeBSD: Getting QUIC Working with nginx in a Bastille Jail

What looked like a simple nginx config change turned into a tour through SSL library incompatibilities, pf firewall rules for a new protocol, and a multi-worker affinity problem that only shows up under real traffic. A complete guide to getting HTTP/3 working with nginx 1.28 on FreeBSD 15.0 inside a Bastille jail.


PF Firewall on FreeBSD: A Practical Guide

A comprehensive guide to configuring PF on FreeBSD, covering core concepts, practical configurations for jails and dual-stack networking, and advanced techniques including brute-force protection and bastion host setups with authpf.