mirror of
https://github.com/R0m1k3/PleinR.git
synced 2026-10-11 17:27:54 +02:00
Le seed ne crée plus que le référentiel des catégories et le compte administrateur initial. Les adhérents, promotions, demandes d'adhésion, entrées du journal et comptes de démonstration sont déplacés dans src/db/demo-data.ts et ne sont insérés qu'avec SEED_DEMO=true. Nouveau script `npm run db:purge-demo` (bundlé en dist/purge-demo.cjs pour le conteneur) : retire exactement ce jeu de démonstration d'une base qui l'a reçu lors des démarrages précédents, sans toucher aux saisies de l'association ni aux catégories. Idempotent, en transaction ; un compte réel rattaché à une fiche de démo est détaché et non supprimé. Vérifié en local sur Postgres 16 : seed par défaut = 59 catégories + 1 admin et rien d'autre ; seed avec SEED_DEMO=true = jeu complet ; purge = retour à l'état vide ; seconde purge sans effet. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RAQsCp4nnZbwexCg7NDBHE
70 lines
3.0 KiB
Bash
70 lines
3.0 KiB
Bash
# ---- Database (external Postgres) ----
|
||
# With docker-compose the app reaches Postgres via the UNIQUE container name
|
||
# "pleinr-postgres" on the internal port 5432 (avoids collisions with other
|
||
# "postgres" containers on a shared proxy network; NOT the published host port).
|
||
# For local dev outside Docker against the dockerised Postgres, use
|
||
# localhost on the published host port: postgres://pleinr:pleinr@localhost:54329/pleinr
|
||
DATABASE_URL=postgres://pleinr:pleinr@pleinr-postgres:5432/pleinr
|
||
|
||
# Individual vars consumed by the postgres container in docker-compose.yml
|
||
POSTGRES_USER=pleinr
|
||
POSTGRES_PASSWORD=pleinr
|
||
POSTGRES_DB=pleinr
|
||
|
||
# ---- Auth.js (NextAuth v5) ----
|
||
# Optional with docker-compose: if left unset, the container generates and
|
||
# persists one automatically. To set it yourself: openssl rand -base64 32
|
||
AUTH_SECRET=
|
||
# Public URL of the app (used by Auth.js for callbacks).
|
||
# Leave EMPTY behind a reverse proxy (Nginx Proxy Manager, Traefik…): Auth.js
|
||
# auto-detects it from the Host / X-Forwarded-Proto headers (trustHost).
|
||
# Set it only to force a value, e.g. https://pleinr.ffnancy.fr
|
||
AUTH_URL=
|
||
|
||
# ---- First admin user (created by the seed script) ----
|
||
SEED_ADMIN_EMAIL=admin@plein-r.fr
|
||
# Laissez vide : un mot de passe aléatoire est généré au premier démarrage,
|
||
# affiché UNE FOIS dans les journaux, et doit être changé à la première connexion.
|
||
SEED_ADMIN_PASSWORD=
|
||
SEED_ADMIN_NAME=Administrateur Plein R
|
||
# Données de démonstration (adhérents, promotions, demandes, journal et
|
||
# comptes au mot de passe connu de tous) : uniquement sur un poste de
|
||
# développement, jamais en production. Par défaut la base reste vide, avec le
|
||
# référentiel des catégories et le compte administrateur seulement.
|
||
# Pour retirer des données de démo déjà en base : npm run db:purge-demo
|
||
# (ou, dans le conteneur : node dist/purge-demo.cjs).
|
||
SEED_DEMO=false
|
||
|
||
# ---- App ----
|
||
NODE_ENV=production
|
||
PORT=3000
|
||
|
||
# URL publique du site. Se règle normalement dans Backend › Réseaux sociaux ;
|
||
# cette variable ne sert que de repli (puis AUTH_URL en dernier recours).
|
||
NEXT_PUBLIC_SITE_URL=
|
||
|
||
# ---- Publication des promotions sur les réseaux sociaux ----
|
||
# La configuration se fait désormais dans Backend › Réseaux sociaux : on y colle
|
||
# les identifiants de l'application, on clique Connecter, et les jetons sont
|
||
# récupérés et stockés chiffrés automatiquement. Rien à mettre ici dans le cas
|
||
# normal.
|
||
#
|
||
# Clé de chiffrement des jetons en base. Si elle est vide, AUTH_SECRET est
|
||
# utilisé. La définir explicitement permet de faire tourner AUTH_SECRET sans
|
||
# perdre les connexions réseaux.
|
||
# openssl rand -base64 32
|
||
SOCIAL_TOKEN_KEY=
|
||
|
||
# Versions d'API (facultatif)
|
||
FACEBOOK_GRAPH_VERSION=v21.0
|
||
LINKEDIN_API_VERSION=202506
|
||
|
||
# --- Repli historique ---
|
||
# Ces variables restent lues si aucun compte n'est connecté depuis le
|
||
# backoffice. Utile pour un jeton posé à la main ; sinon, laissez vide.
|
||
FACEBOOK_PAGE_ID=
|
||
FACEBOOK_PAGE_ACCESS_TOKEN=
|
||
LINKEDIN_ORGANIZATION_URN=
|
||
LINKEDIN_ORGANIZATION_ID=
|
||
LINKEDIN_ACCESS_TOKEN=
|