Files
parenthese/.env.example
T
IliesAllaliandClaude Opus 5.5 e596887a44 Invitations à créer son arbre, coupées en auto-hébergement (SIGNUP_PROMPTS) (#202)
- La famille sans compte trouve « Faire le mien » en bas du menu Ajouter ; la ligne quitte le menu du
  compte. Après l'inscription, l'arbre de la famille est rattaché et l'assistant de création s'ouvre.
- Démo : les messages des liens et la bulle après « Enregistrer et quitter » proposent l'inscription
  (lien cliquable, message gardé 6 s). La démo lit aussi les options de l'instance.
- Message d'invitation de Noël du 1er décembre au 6 janvier.
- SIGNUP_PROMPTS (API, /auth/options.signupPrompts) : éteint par défaut, allumé pour l'instance hébergée
  dans ecosystem.config.cjs, toujours coupé quand l'inscription est fermée. README, .env.example, OpenAPI.
- Mesures : via sur create_account_clicked et account_screen_viewed, source arbre-partage ou demo
  quand l'adresse n'en porte pas.
- « Quitter l'édition ? » dans la démo ne dit plus que les modifications restent sur l'appareil :
  la démo n'enregistre rien et tout disparaît au rechargement.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 18:17:59 +01:00

90 lines
5.9 KiB
Bash

# Parenthèse, configuration de l'auto-hébergement (docker compose).
# Copiez ce fichier en .env et remplissez les deux valeurs marquées "à remplir".
# Le fichier .env est ignoré par git : vos secrets restent sur votre machine.
#
# NODE_ENV, PORT, DATABASE_URL et MEDIA_STORAGE_PATH sont fixés par docker-compose.yml,
# inutile de les définir ici.
# ── Base de données (conteneur db, non exposé hors du réseau Docker) ──────────
POSTGRES_USER=parenthese
POSTGRES_DB=parenthese
# À remplir. Lettres et chiffres uniquement : la valeur est insérée dans une URL de connexion.
# Fixé au premier démarrage : pour le changer ensuite il faut recréer le volume db-data.
POSTGRES_PASSWORD=
# ── API ───────────────────────────────────────────────────────────────────────
# À remplir, 32 caractères conseillés. Générer avec :
# openssl rand -base64 48
# ou : node -e "console.log(require('crypto').randomBytes(48).toString('base64'))"
# L'API refuse de démarrer en production avec la valeur de développement.
JWT_SECRET=
# Durée de vie des sessions (compte) et des accès par lien partagé.
JWT_EXPIRES_IN=7d
JWT_TREE_ACCESS_EXPIRES_IN=24h
# Adresse à laquelle vos proches ouvrent Parenthèse, sans slash final.
# En local : http://localhost (ou http://localhost:8080 si WEB_PORT=8080).
# Derrière un reverse proxy HTTPS : https://arbre.votre-domaine.fr
# Plusieurs adresses : séparées par des virgules.
CORS_ORIGIN=http://localhost
# Proxys dont l'API croit l'en-tête X-Forwarded-For (adresse des visiteurs, limites d'essais).
# Par défaut, le nginx du conteneur web (réseau Docker privé). Si vous ajoutez un reverse proxy
# devant, ajoutez son adresse, par exemple loopback,uniquelocal,203.0.113.10
# TRUST_PROXY=loopback,uniquelocal
# Place disque par arbre (Mo), et part réservée aux envois de la famille en attente de relecture.
# MEDIA_QUOTA_PER_TREE_MB=5120
# MEDIA_PENDING_QUOTA_PER_TREE_MB=500
# ── Comptes ───────────────────────────────────────────────────────────────────
# À false, plus personne ne peut créer de compte : les comptes existants se connectent et
# créent leurs arbres, la famille ouvre toujours les arbres partagés avec le lien et le mot
# de passe. Une instance sans aucun compte accepte quand même le premier (le vôtre) :
# créez-le juste après le premier démarrage, avant de donner l'adresse.
# ALLOW_REGISTRATION=true
# À true, l'app invite à créer son propre arbre : « Faire le mien » dans le menu Ajouter de la
# famille, l'inscription proposée dans les messages de la démo, un message d'invitation pour Noël
# (du 1er décembre au 6 janvier). Éteint par défaut, allumé sur app.parenthese.io.
# SIGNUP_PROMPTS=false
# ── Chercher quelqu'un dans des sources publiques ────────────────────────────
# Sources que le serveur interroge pour le panneau « Quelqu'un ailleurs » (menu +) :
# deces (décès en France depuis 1970, fichier de l'INSEE par matchID), wikitree.
# Vide : aucun nom ne quitte l'instance, le panneau ne propose que des liens ouverts
# par le navigateur. Seuls le prénom, le nom et l'année de naissance sont envoyés.
# SEARCH_SOURCES=deces,wikitree
# Clé gratuite de deces.matchid.io (valable 30 jours) : sans elle, les recherches
# anonymes s'arrêtent après une centaine.
# MATCHID_TOKEN=
# ── Connexion par un fournisseur d'identité (OIDC : Authentik, Authelia, Keycloak…) ──
# Éteinte sans OIDC_ISSUER. Chez le fournisseur, adresse de retour = adresse publique + /auth/oidc/callback.
# Détails dans le README, section « Connexion par votre fournisseur d'identité ».
# OIDC_ISSUER=https://auth.votre-domaine.fr/application/o/parenthese/
# OIDC_CLIENT_ID=parenthese
# OIDC_CLIENT_SECRET=
# OIDC_REDIRECT_URI=https://arbre.votre-domaine.fr/auth/oidc/callback
# OIDC_PROVIDER_NAME=Authentik
# Email accepté seulement s'il est vérifié chez le fournisseur (email_verified).
# OIDC_REQUIRE_VERIFIED_EMAIL=true
# À false, plus de mot de passe Parenthèse : connexion par le fournisseur seulement.
# PASSWORD_LOGIN=true
# ── Immich (reconnaissance des visages, désactivé par défaut) ────────────────
# Instances Immich autorisées sur ce serveur, séparées par des virgules. Chaque entrée
# peut recevoir un libellé, « Libellé=https://adresse » ; sans libellé, c'est le nom
# d'hôte qui sert (un même nom d'hôte ne peut pas servir à deux instances : donnez-leur
# un libellé). Les administrateurs de chaque arbre choisissent l'instance par son nom
# et donnent leur propre clé d'API (créée dans Immich, Paramètres > Clés d'API) ; la
# clé est chiffrée en base. L'adresse n'est jamais montrée aux administrateurs : seul
# le libellé l'est. Sans cette liste, la fonction reste éteinte, et une adresse retirée
# de la liste coupe aussitôt les arbres qui l'utilisent.
# IMMICH_ALLOWED_API_URLS=Maison=http://immich.maison.lan:2283,https://immich.example.org
# ── Images ────────────────────────────────────────────────────────────────────
# Version des images ghcr.io/iliesallali/parenthese-api et parenthese-web : latest (dernière
# version de main), ou une version figée, par exemple 1.0.
# PARENTHESE_VERSION=latest
# ── Web ───────────────────────────────────────────────────────────────────────
# Port publié sur la machine hôte (80 = http://localhost sans préciser de port).
WEB_PORT=80