Installer avec Docker Compose¶
HouseCairn est livré sous la forme d’une seule image de conteneur, ghcr.io/housecairn/housecairn, pour linux/amd64 et linux/arm64. Elle contient le serveur web, le worker de tâches de fond et les fichiers statiques. Tout ce qu’elle écrit va dans un seul volume, /data. Les décisions de conception de l’image sont dans l”ADR 0015.
Prérequis¶
Docker Engine 25.0 ou plus récent, avec le plugin Compose (
docker compose) 2.24.0 ou plus récent.Engine 25.0 : le contrôle de santé de l’image vérifie toutes les 2 secondes pendant le démarrage du conteneur (
--start-interval), une option qui demande Docker Engine 25.0 ou plus récent (notes de version).Compose 2.24.0 : l’exemple
compose.yamldéclaredeploy/postgres.envfacultatif (required: false), ce que Compose accepte depuis la version 2.24.0.Vérifiez avec
docker version --format '{{.Server.Version}}'etdocker compose version.
Un reverse proxy qui termine le HTTPS devant HouseCairn (Caddy, Traefik, nginx…). HouseCairn écoute en HTTP simple, port 8000, et redirige chaque requête vers HTTPS ; il attend du proxy qu’il pose
X-Forwarded-Proto. Voir Reverse proxy.
Installation¶
Récupérez
compose.yamletdeploy/production.env.exampledepuis le dépôt, avec la même arborescence :mkdir -p housecairn/deploy && cd housecairn curl -fsSLO https://raw.githubusercontent.com/HouseCairn/housecairn/main/compose.yaml curl -fsSL -o deploy/production.env \ https://raw.githubusercontent.com/HouseCairn/housecairn/main/deploy/production.env.example
Modifiez
deploy/production.env: définissezALLOWED_HOSTSetCSRF_TRUSTED_ORIGINSavec votre nom d’hôte (voir Variables d’environnement). LaissezSECRET_KEYvide : une clé est générée au premier démarrage.HOUSECAIRN_FORWARDED_ALLOW_IPSdésigne le reverse proxy dont HouseCairn accepte les en-têtes : gardez192.0.2.1pour un proxy sur cet hôte, la passerelle du réseau fixé danscompose.yaml.Dans
compose.yaml, remplacez l’étiquetteedgepar une version publiée, idéalement avec son condensat (ghcr.io/housecairn/housecairn:X.Y.Z@sha256:...). Vérifiez l’image avant le premier démarrage.Démarrez-le, puis vérifiez son état :
docker compose up -d docker compose ps # STATUS shows "healthy" after a few seconds docker compose logs -f housecairn
Pointez votre reverse proxy vers
http://127.0.0.1:8000. Pour faire tourner le proxy lui-même dans Compose (Caddy ou Traefik), voyez l’exemple de Reverse proxy, qui donne aussi la valeur deHOUSECAIRN_FORWARDED_ALLOW_IPSpour chaque cas.
À chaque démarrage, le conteneur crée la clé secrète si elle manque, applique les migrations de la base, puis lance le serveur web (gunicorn, deux processus par défaut) et le worker de tâches (django-q2). Si l’un des deux s’arrête, le conteneur s’arrête, et Compose le redémarre.
Ensuite : créer le premier administrateur.