mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-12 08:16:09 +00:00
- Nouvelle table tree_immich_configs (adresse + clé d'API chiffrée AES-256-GCM, clé dérivée de JWT_SECRET) et routes GET/PUT/DELETE /trees/:id/immich/config réservées aux administrateurs de l'arbre ; journal d'audit sans secret (adresse et « clé changée » uniquement). - Fin des variables d'env IMMICH_ENABLED / IMMICH_API_URL / IMMICH_API_KEY : l'adresse se choisit parmi IMMICH_ALLOWED_API_URLS, la liste établie par l'opérateur du serveur. Elle filtre l'enregistrement ET chaque requête : retirer une adresse coupe aussitôt les connexions qui l'utilisent. - Changer d'instance exige une nouvelle clé : l'ancienne est écrasée et ne voyage jamais vers le nouveau serveur. - Le désassignement reste possible sans connexion : purement local, il nettoie association et portrait stocké même après suppression de la connexion ; le panneau affiche « Retirer l'association » dans tous les états. - Onglet Immich dans Paramètres de l'arbre : menu des instances autorisées, test de connexion, suppression avec confirmation ; i18n anglais des nouveaux messages. Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
53 lines
3.4 KiB
Bash
53 lines
3.4 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
|
|
|
|
# ── Immich (reconnaissance des visages, désactivé par défaut) ────────────────
|
|
# Instances Immich autorisées sur ce serveur, séparées par des virgules. Les
|
|
# administrateurs de chaque arbre choisissent la leur dans cette liste et donnent
|
|
# leur propre clé d'API (créée dans Immich, Paramètres > Clés d'API) ; la clé est
|
|
# chiffrée en base. 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=http://immich.example.org: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
|