PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

ephase : Bastille: créer des templates pour vos Jails FreeBSD

mardi 30 mars 2021 à 08:38

Quand on parle de conteneurs, la majorité pense à Docker, mais il n’y a pas que ça dans la vie, il existe aussi les jails BSD (entre autres).

Introduites avec la version 4 de FreeBSD (sortie en mars 2000), le principe des Jails est de partager les ressources d’une machine en plusieurs mini-systèmes autonomes.

C’est un peu le pendant des conteneurs LXC sous GNU/Linux (première version sortie le 6 août 2008).

C’est par FreeNAS que j’ai découvert FreeBSD et les jails; d’abord en utilisant Warden puis iocage. J’ai ensuite décidé de passer mon serveur à la maison sous FreeBSD et de tester Bastille pour la gestion de mes Jails.

Bastille (ou BastilleBSD)

C’est un programme écrit en shell par Christer Edwards. Son but est de faciliter la gestion des Jails tout en adoptant le principe du KISS. Bien entendu c’est Open-Source — licence BSD 3-Clause — et le code source est disponible sur Github.

Il est disponible directement dans les dépôts binaires de FreeBSD ou via les ports. Il est aussi possible de l’installer directement depuis les sources.

L’utilisation de base de Bastille est relativement simple et je ne vais pas détailler ici la mise en place et l’utilisation de base: la documentation est là pour ça et elle est très bien faite.

Créer un Patron

Une des forces de Bastille est la possibilité de créer des “patrons” (ou templates) pour vos conteneurs. Il devient alors simple de déployer des services en deux lignes de commandes.

Un dépôt Gitlab contenant des patrons tout prêts est disponible ici.

Je vais prendre comme exemple l’installation de Wallabag avec PostgreSQL comme système de base de données, Nginx comme serveur web et PHP-fpm.

L’organisation du template

Les templates sont positionnés dans le répertoire /usr/local/bastille/templates sous la forme /