e17398d86d
- Ajoute la configuration et les services backend (app, actors, registration, attendees, contacts, catalog, core auth/nodeinfo/proxy/notification). - Corrige le démarrage : désactive resourcesWithContainerPath pour éviter le conflit entre l'URI de l'acteur applicatif (/as/actor/app) et la route /app. - Corrige l'URL du dépôt de shapes : https://shapes.activitypods.org/. - Ajoute backend/Dockerfile et docker-compose.yml racine (frontend + backend). - Met à jour .env.example racine avec les variables SEMAPPS_* et VITE_BACKEND_*. - Gates verts : bunx tsc --noEmit (0 erreur) et bun test (50 pass).
91 lines
4.6 KiB
Bash
91 lines
4.6 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 (défaut 3000).
|
|
PORT=3000
|
|
|
|
# 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:5000
|
|
|
|
# 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 l'auto-découverte).
|
|
VITE_BACKEND_CLIENT_ID=
|
|
|
|
# ── 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=
|
|
|