Closing Out 2021 With New Bastille Release

Release notes

Experimenting with Debian and Ubuntu Containers

Bastille is an open-source system for automating deployment and management containerized applications on FreeBSD.

Bastille 0.9.20211225 “Happy Holidays”

Happy Holidays! Bastille development continues with five months of new features and fixes! These release notes outline the changes you can expect to find in our latest version.

More Linux Improvements

This release adds additional experimental support for Debian 11 “Bullseye”, Debian 10 “Buster”, Debian 9 “Stretch”, Ubuntu 18.04 “Bionic” and Ubuntu 20.04 “Focal”. Linux support is maturing thanks to feedback and contributions from the community!

What’s more, the CMD and PKG sub-commands support these Linux releases!

These changes open up initial support for using templates with Linux containers. Currently limited to CMD and PKG only.

Note: this release updates the bastille.conf. If you are upgrading please merge config changes.

Debian releases


bastille bootstrap bullseye
bastille create -L debian11 bullseye


bastille bootstrap buster
bastille create -L debian10 buster


bastille bootstrap stretch
bastille create -L debian9 stretch

Ubuntu releases


bastille bootstrap bionic
bastille create -L ubuntu18 bionic


bastille bootstrap focal
bastille create -L ubuntu20 focal

Improvements have also been made to simplify future Linux additions to the codebase.

Linux support for PKG

The pkg sub-command now supports Ubuntu & Debian containers by using apt transparently inside the container.

bastille pkg debian11 upgrade

Linux support for CMD

The cmd sub-command now supports Ubuntu & Debian containers.

bastille cmd debian11 ps -ef

New PKG option

The pkg sub-command now optionally supports using the hosts package manager instead of the container pkg binary.

bastille pkg -H alcatraz upgrade
bastille pkg --host alcatraz install htop

Exit Codes

CMD now returns exit code for individual jails and ALL jails.

If CMD is executed against ALL jails and any return an error the command will return exit code 1. All jails need to return 0 for the command to return 0.

Timezone settings

Bastille will now use the timezone configured on the host unless otherwise defined in the bastille.conf.

VNET Improvements

This release adds more options to VNET containers including descriptions and usage of existing bridge interfaces.

VNET Bridge

The create command now supports a -B option to attach a VNET container to an existing bridge.

bastille create -B alcatraz 13.0-RELEASE bridge0

VNET descriptions

VNET interfaces will now be given an interface description including the container name. This will help map containers with interfaces in VNET configurations.

Template Improvements

recursive verify

When using bastille verify against a template that contains an INCLUDE statement Bastille will now recursively verify every template in the chain.

bastille update supports templates

You can now easily update templates using bastille update .... The syntax supports multiple options as described here:

Update all templates (using git)

bastille update TEMPLATES

Update the bastillebsd-templates/nginx template only

bastille update bastillebsd-templates/nginx

What’s Changed

New Contributors

Full Changelog:

Christer Edwards
Creator of Bastille

FreeBSD die-hard, software developer, author, educator, man behind BastilleBSD. I build cool stuff.