Variables d’environnement

Définissez-les dans deploy/production.env. La liste complète, avec les valeurs par défaut, est dans deploy/production.env.example et .env.example.

Variable

Défaut

Rôle

ALLOWED_HOSTS

(aucun : obligatoire)

Noms d’hôte auxquels HouseCairn répond, séparés par des virgules.

CSRF_TRUSTED_ORIGINS

(aucun)

Origines https:// de ces noms d’hôte.

HOUSECAIRN_BEHIND_TLS_PROXY

false

true derrière un reverse proxy qui pose X-Forwarded-Proto.

HOUSECAIRN_FORWARDED_ALLOW_IPS

127.0.0.1,::1

Adresses ou réseaux de ce proxy, séparés par des virgules : seuls leurs en-têtes de transfert comptent (voir Reverse proxy).

SECRET_KEY

générée dans /data/secret_key

À définir seulement pour gérer la clé vous-même.

DATABASE_URL

SQLite dans /data

Par exemple postgres://housecairn:<password>@postgres:5432/housecairn.

TIME_ZONE

UTC

Fuseau horaire de l’instance.

HOUSECAIRN_SIGNUP_OPEN

false

Autorise l’inscription locale depuis la page web ; nécessite l’envoi d’e-mails. Voir Inscription libre.

HOUSECAIRN_SIGNUP_POW_BITS

16

Difficulté du contrôle anti-robot de l’inscription, de 8 à 24 bits.

HOUSECAIRN_SIGNUP_ALLOWED_DOMAINS, HOUSECAIRN_SIGNUP_BLOCKED_DOMAINS

(aucun)

Domaines séparés par des virgules qui peuvent, ou non, s’inscrire.

ACCOUNT_EMAIL_VERIFICATION

optional, mandatory avec l’inscription libre

Indique si une adresse doit être vérifiée avant la connexion.

HOUSECAIRN_CACHE_URL

locmemcache://housecairn

Cache des compteurs de limite de débit ; dbcache://housecairn_cache les partage entre les processus web. Voir Limites de débit.

OIDC_SERVER_URL, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET

(aucun)

Authentification unique auprès de n’importe quel fournisseur OpenID Connect.

HOUSECAIRN_OIDC_SIGNUP, HOUSECAIRN_BOOTSTRAP_ADMIN_EMAIL

closed, (aucun)

Qui peut obtenir un compte par l’authentification unique.

EMAIL_HOST

(aucun)

Serveur d’envoi d’e-mails (SMTP) ; l’envoi est désactivé tant qu’il est vide. Voir E-mail.

EMAIL_USE_SSL, EMAIL_TIMEOUT

false, 15

TLS dès le premier octet ; secondes d’attente du serveur. Voir E-mail.

HOUSECAIRN_SITE_URL

(aucun : à renseigner en production)

Adresse publique de l’instance, par exemple https://home.example.com, utilisée pour les liens des e-mails. Vide : l’adresse de la requête, contrôlée par ALLOWED_HOSTS ; check --deploy avertit quand EMAIL_HOST est défini sans elle.

HOUSECAIRN_INVITATION_LIFETIME_DAYS

7

Nombre de jours de validité d’un lien d’invitation, de 1 à 90.

HOUSECAIRN_DOCS_URL

https://docs.housecairn.app

Adresse de cette documentation, utilisée par le lien d’aide de chaque écran.

HOUSECAIRN_WEB_WORKERS

2

Processus du serveur web.

HOUSECAIRN_TASK_WORKERS

2

Processus du worker de tâches.

HOUSECAIRN_STOP_TIMEOUT

20

Secondes accordées aux deux pour s’arrêter ; gardez cette valeur sous le stop_grace_period de Compose.

HOUSECAIRN_PORT

8000

Port dans le conteneur.

LOG_LEVEL

INFO

Niveau de journalisation de l’application ; les journaux vont vers la sortie du conteneur.

Définies dans l’image, à ne pas modifier : HOUSECAIRN_DATA_DIR=/data, STATIC_ROOT=/app/static, DJANGO_SETTINGS_MODULE=housecairn.settings.

Courriel

HouseCairn envoie des e-mails pour les invitations, la vérification d’adresse, la réinitialisation du mot de passe et les alertes de sécurité. Renseignez EMAIL_HOST avec votre serveur SMTP pour l’activer, avec EMAIL_PORT (587), EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_USE_TLS (true), EMAIL_USE_SSL, EMAIL_TIMEOUT et DEFAULT_FROM_EMAIL. Tout est détaillé sur la page E-mail, avec ce que deviennent les fonctions qui exigent une boîte aux lettres quand il n’y en a pas.

Les liens des e-mails pointent vers HOUSECAIRN_SITE_URL quand elle est définie. Renseignez-la en production. Sans elle, un lien prend l’hôte de la requête qui l’a déclenché : ALLOWED_HOSTS le limite aux noms auxquels l’instance répond, mais un proxy qui laisse une requête choisir son hôte, ou plusieurs noms dans ALLOWED_HOSTS, peut faire pointer un lien là où vous ne le vouliez pas. manage.py check --deploy signale EMAIL_HOST défini sans HOUSECAIRN_SITE_URL.

PostgreSQL

SQLite est le choix par défaut et suffit pour un foyer. Pour utiliser PostgreSQL, le compose.yaml d’exemple a un service postgres, lancé seulement avec le profil postgres :

  1. cp deploy/postgres.env.example deploy/postgres.env, puis définissez un mot de passe.

  2. Dans deploy/production.env, définissez DATABASE_URL=postgres://housecairn:<password>@postgres:5432/housecairn.

  3. Décommentez depends_on dans le service housecairn, puis docker compose --profile postgres up -d.

Un serveur PostgreSQL existant convient aussi : pointez DATABASE_URL vers lui.