97 lines
5.0 KiB
Bash
97 lines
5.0 KiB
Bash
# Festipod — variables d'environnement (exemple)
|
|
#
|
|
# Copier en `.env` et renseigner les valeurs.
|
|
# En dev (`bun run dev`) ET en prod (`bun run start`), l'app sert depuis src/ et
|
|
# lit ces variables au RUNTIME (via l'endpoint /festipod-config.json de src/index.ts).
|
|
#
|
|
# REQUIS POUR LES TESTS. La suite Cucumber tourne sous `node` (pas sous Bun), qui
|
|
# ne charge pas `.env` tout seul : le harness le lit explicitement et LÈVE UNE
|
|
# ERREUR NOMMÉE si le mot de passe ou le fichier manquent. Or `.env` ET `*.ngw`
|
|
# sont tous deux gitignorés — un clone frais n'a donc ni l'un ni l'autre et ne
|
|
# peut pas exécuter `@data`/`@e2e` tant que ces deux valeurs ne sont pas fournies.
|
|
|
|
# ── Portefeuille partagé (stopgap staging) ─────────────────────────────────
|
|
# Mot de passe du portefeuille partagé.
|
|
# VIDE => rien n'est passé à `configure({ sharedWallet })` => le SDK refuse de
|
|
# signer l'entrée et l'app affiche son panneau d'erreur au lieu de démarrer.
|
|
# REQUIS en staging (onboarding d'un appareil sans wallet) ET pour les tests.
|
|
FESTIPOD_SHARED_WALLET_PASSWORD=
|
|
|
|
# Chemin vers le fichier portefeuille partagé (.ngw), absolu ou relatif à la
|
|
# racine. Servi en téléchargement à /shared-wallet.ngw. C'est la forme du DEV
|
|
# LOCAL et du harness de TESTS : le fichier vit sur le disque de la machine.
|
|
FESTIPOD_SHARED_WALLET_FILE=/chemin/absolu/vers/festipod-wallet.ngw
|
|
|
|
# Contenu du portefeuille partagé (.ngw), encodé en base64 — deuxième source
|
|
# pour le même fichier. C'est la forme des DÉPLOIEMENTS (conteneur) : *.ngw est
|
|
# gitignoré, donc `COPY . .` n'en embarque aucun et rien n'en monte un ; le
|
|
# fichier n'étant pas un secret (l'app le sert à quiconque ouvre l'app), il
|
|
# voyage comme une variable de config. `FESTIPOD_SHARED_WALLET_FILE` est
|
|
# prioritaire quand les deux sont renseignées — voir le commentaire dans
|
|
# src/index.ts. Générer la valeur avec, p.ex., `base64 -w0 festipod-wallet.ngw`.
|
|
FESTIPOD_SHARED_WALLET_FILE_BASE64=
|
|
|
|
# ── Seed automatique (opt-in) ──────────────────────────────────────────────
|
|
# Non vide => l'app amorce des données de démo dans un wallet VIDE au 1er login.
|
|
# OFF par défaut : laisser vide en usage normal.
|
|
FESTIPOD_AUTO_SEED=
|
|
|
|
# ── Serveur ────────────────────────────────────────────────────────────────
|
|
# Port HTTP du serveur (4000 : l'app est servie sur l'origine :4000 de la pile locale).
|
|
PORT=4000
|
|
|
|
# NODE_ENV=production bascule `bun run start` (pas de HMR). En dev, laisser vide.
|
|
NODE_ENV=
|
|
|
|
# ── Backend ActivityPods ───────────────────────────────────────────────────
|
|
# URL publique du backend Festipod (écoute sur le port 3003).
|
|
SEMAPPS_HOME_URL=http://localhost:3003
|
|
|
|
# URL publique du frontend (utilisée par le backend pour les OIDC redirects, etc.)
|
|
SEMAPPS_FRONT_URL=http://localhost:4000
|
|
|
|
# Endpoint SPARQL du Fuseki auquel se connecte le backend.
|
|
SEMAPPS_SPARQL_ENDPOINT=http://localhost:3030/
|
|
|
|
# Dataset Jena/Fuseki principal utilisé par le backend.
|
|
SEMAPPS_MAIN_DATASET=settings
|
|
|
|
# Identifiants Jena/Fuseki.
|
|
SEMAPPS_JENA_USER=admin
|
|
SEMAPPS_JENA_PASSWORD=admin
|
|
|
|
# Redis : cache (db 3) et file des jobs (db 4).
|
|
SEMAPPS_REDIS_CACHE_URL=redis://localhost:6390/3
|
|
SEMAPPS_QUEUE_SERVICE_URL=redis://localhost:6390/4
|
|
|
|
# Dataset utilisé par le service auth.account.
|
|
SEMAPPS_AUTH_ACCOUNTS_DATASET_NAME=settings
|
|
|
|
# Dépôt de shapes/shapetrees utilisé pour déclarer les besoins d'accès.
|
|
SEMAPPS_SHAPE_REPOSITORY_URL=https://shapes.activitypods.org/
|
|
|
|
# Nom et description de l'application (backend).
|
|
SEMAPPS_APP_NAME=Festipod
|
|
SEMAPPS_APP_DESCRIPTION=Points de rencontre sur les événements publics
|
|
SEMAPPS_APP_LANG=en,fr
|
|
SEMAPPS_PORT=3003
|
|
|
|
# ── Frontend / Backend coupling ────────────────────────────────────────────
|
|
# URL du backend telle que vue par le navigateur.
|
|
VITE_BACKEND_URL=http://localhost:3003
|
|
|
|
# Client ID OAuth/Solid du backend (laisser vide pour dériver `${VITE_BACKEND_URL}/as/actor/app`).
|
|
# Le client_id DOIT être l'URI de l'acteur app : le pod enregistre l'app sous cette URI et
|
|
# ne sert l'en-tête `Link: rel="interop:registeredAgent"` (découverte de l'enregistrement
|
|
# par le auth provider) que si le client_id égalise l'acteur.
|
|
VITE_BACKEND_CLIENT_ID=
|
|
|
|
# Pod provider ActivityPods par défaut (optionnel). Vide → l'écran de login demande une URL.
|
|
VITE_POD_PROVIDER_URL=http://localhost:3000
|
|
|
|
# ── Outillage dev (facultatif) ─────────────────────────────────────────────
|
|
# Override du chemin local du polyfill @ng-eventually/sdk pour `pnpm run
|
|
# overlay:polyfill` (overlay local réactif). Défaut = ../nextgraph/ng-eventually-js/packages/sdk.
|
|
NG_EVENTUALLY_LOCAL=
|
|
|