Tracim sur mon NAS, partie 2: Service Systemd pour conteneur Podman
Introduction
Lors des précédents articles, je couvrais le fait de générer une image conteneur pour Tracim, les images sont prêts, il est temps de les utilisés !
Mise en route de l’image avec Podman et Systemd
Pour ce faire, je prépare la commande pour lancer le conteneur Tracim avec les bons paramètres, pour le cas d’une configuration très minimal, il est possible de faire comme dans le script donné ci-dessous.
A notez:
- c’est un conteneur en mode utilisateur, il ne demande pas de droits super-utilisateur afin de limiter les risques de sécurité.
- C’est une configuration Tracim très basique, qui ne tire par profit du plein potentiel du logiciel.
- L’exemple ici demande l’existence d’un reverse-proxy capable de rediriger le port de sortie 7070 vers l’internet, autrement seul le NAS sera capable d’accéder au site.
- J’ai limité les ressources utilisables par l’image via les paramètres cpu et memory.
podman run -d -e "DATABASE_TYPE=sqlite" \
-e "START_CALDAV=1" \
-e "START_WEBDAV=1" \
-e "TRACIM_WEBSITE__BASE_URL=https://tracim.ndd.tld" \
-e "TRACIM_WEBDAV__BASE_URL=https://tracim.ndd.tld" \
-e "TRACIM_WEBSITE__TITLE=Tracim" \
-e "TRACIM_WEBSITE__DESCRIPTION=Mon espace partagé !" \
-e "TRACIM_DEFAULT_LANG=fr" \
-p "127.0.0.1:7070:80" \
-v "$HOME//tracim/etc:/etc/tracim" \
-v "$HOME/tracim/var:/var/tracim" \
--cpus=2 \
--memory=2g \
--name tracim \
inkhey/tracim:4.5-no-vtk
Pour une gestion un peu plus propre, il est possible de convertir cette configuration en service Systemd de la sorte :
podman stop tracim
podman generate systemd -n tracim > ~/.config/systemd/user/tracim.service
systemctl --user daemon-reload
systemctl --user enable tracim
systemctl --user start tracim
Vous avez ainsi un Tracim fonctionnel via Podman donc le cycle de vie est gérable via Systemd, pas mal non ?
Bonus : convertir en fichier de configuration pour kubernetes
Je n’utilise pas personnellement Kubernetes, mais Podman permet facilement de convertir un conteneur existant en configuration compatible
podman generate kube -f tracim.yml tracim
On peut aussi démarrer une configuration de type kubernetes :
podman play kube ./tracim.yml