FreeBSD The Power to Serve

Containers and FreeBSD: AppJail, Director, OCI and more

Contact: Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org>

AppJail is an open-source BSD-3 licensed framework entirely written in POSIX shell and C to create isolated, portable and easy to deploy environments using FreeBSD jails that behaves like an application.

Director is a tool for running multi-jail environments on AppJail using a simple YAML specification. A Director file is used to define how one or more jails that make up your application are configured. Once you have a Director file, you can create and start your application with a single command: appjail-director up.

LittleJet is an open source, easy-to-use orchestrator for managing, deploying, scaling and interconnecting FreeBSD jails anywhere in the world.

Their goals are to simplify life for sysadmins and developers by providing a unified interface that automates the jail workflow by combining the base FreeBSD tools.

AppJail and all its meta-projects extensively follow The Ephemeral Concept which helps update/upgrade jails more easily as they become disposable. I have used this extensively to deploy my jails with services since this concept was implemented in AppJail.

Although there have been great people working on OCI for a long time, this month the featured topic is OCI, and the advances related to this technology in FreeBSD make it possible to implement it in AppJail. The latest release adds more useful features, improves on existing things and implements OCI.

I’m continually adding more Makejails, a simple text file that automates the deployment of services in jails. There is an organization on GitHub that I call The Centralized Repository if you want to make a contribution. The last improvement was to implement BuildBot as the CI/CD of AppJail images, so any change made to a repository that is tracked by BuildBot will generate a new task to build and deploy an image to the mirrors. And if mirrors are not an option, appjail-reproduce can be used to build images using your own resources.


Last modified on: February 23, 2025 by Chris Moerz