-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
112 lines (92 loc) · 6.29 KB
/
Copy path.env.example
File metadata and controls
112 lines (92 loc) · 6.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# DocFlow IA - Configuration Example
# Copy this file to .env.local and fill in the values
# ── SUPABASE CONFIGURATION (obligatoire, toutes les configurations) ──────────
# Fournit la base Postgres ET l'authentification (Auth), le stockage
# (Storage) et les policies RLS basées sur auth.uid(). Requis en production
# et dans tout environnement qui utilise l'app complète (login, upload,
# RLS...) — voir la section "Base de données" du README.
NEXT_PUBLIC_SUPABASE_URL="https://your-project-id.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-anon-key"
SUPABASE_SERVICE_ROLE_KEY="your-service-role-key"
# ── NEON (optionnel — dev/staging, schéma SQL seulement) ──────────────────────
# Neon ne fournit pas d'équivalent à Supabase Auth/Storage/RLS : ce n'est
# utilisable que pour appliquer le schéma SQL brut (supabase/migrations/) sur
# une base Postgres Neon isolée, via `npm run db:migrate:neon`, pour de
# l'exploration/tests de schéma en dev/staging. Ne remplace PAS Supabase pour
# faire tourner l'application (login, upload de fichiers, RLS ne
# fonctionneront pas sur une base Neon nue). Voir le README.
# Provider actif pour ce script de migration : "supabase" (défaut, script
# désactivé) | "neon" (active db:migrate:neon)
DATABASE_PROVIDER="supabase"
# Console Neon : https://console.neon.tech/
NEON_DATABASE_URL="postgres://user:password@ep-xxxx.region.aws.neon.tech/dbname?sslmode=require"
# ── AI CONFIGURATION ──────────────────────────────────────────────────────────
# Options: "claude", "gemini", "openai", "ollama"
ACTIVE_AI_PROVIDER="gemini"
GEMINI_MODEL="gemini-2.5-flash"
GOOGLE_AI_API_KEY="your-google-ai-key"
ANTHROPIC_API_KEY="your-anthropic-key"
OPENAI_API_KEY="your-openai-key"
OLLAMA_BASE_URL="http://localhost:11434"
# ── EMAIL CONFIGURATION ───────────────────────────────────────────────────────
# Options: "smtp", "resend"
ACTIVE_EMAIL_PROVIDER="smtp"
SMTP_GOOGLE_EMAIL="your-clinic@gmail.com"
GOOGLE_APP_PASSWORD="your-google-app-password"
RESEND_API_KEY="re_..."
RESEND_FROM_ADDRESS="noreply@yourdomain.com"
# ── STRIPE PAYMENTS (FIAT) ────────────────────────────────────────────────────
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_SECRET_KEY="sk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
# Stripe Price IDs (Required for billing page)
NEXT_PUBLIC_PLAN_STARTER_PRICE_EUR=45
NEXT_PUBLIC_PLAN_PROFESSIONAL_PRICE_EUR=89
NEXT_PUBLIC_PLAN_ENTERPRISE_PRICE_EUR=269
STRIPE_PRICE_ID_STARTER="price_..."
STRIPE_PRICE_ID_PROFESSIONAL="price_..."
STRIPE_PRICE_ID_ENTERPRISE="price_..."
# ── WEB3 PAYMENTS (CRYPTO) ────────────────────────────────────────────────────
# WalletConnect Project ID from https://cloud.walletconnect.com/
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID="your-project-id"
# Your admin wallet address to receive payments (ERC20/Polygon)
NEXT_PUBLIC_CRYPTO_WALLET_ADDRESS="0x..."
# USDC Contract Address (Polygon Mainnet)
NEXT_PUBLIC_CRYPTO_USDC_CONTRACT="0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359"
NEXT_PUBLIC_CRYPTO_CHAIN_ID=137
# Crypto Plan Prices in USDC
NEXT_PUBLIC_PLAN_STARTER_PRICE=49
NEXT_PUBLIC_PLAN_PROFESSIONAL_PRICE=99
NEXT_PUBLIC_PLAN_ENTERPRISE_PRICE=299
# ── APP URL ───────────────────────────────────────────────────────────────────
NEXT_PUBLIC_APP_URL="http://localhost:3000"
# ── CRON JOBS ─────────────────────────────────────────────────────────────────
# Secret pour sécuriser les routes cron (Vercel Cron Jobs)
CRON_SECRET="your-random-secret"
# ── SCELLEMENT DES DOCUMENTS MÉDICAUX ────────────────────────────────────────
# Clé HMAC du sceau d'intégrité des documents (ordonnances, comptes rendus).
# Doit rester secrète : quiconque la connaît peut forger un sceau valide pour
# un document modifié. Générer avec `openssl rand -hex 32`.
DOCUMENT_SEAL_SECRET="your-random-secret"
# ── SUPPORT / ENTERPRISE ──────────────────────────────────────────────────────
ADMIN_EMAIL="admin@yourdomain.com"
# Email visible aux clients Enterprise comme gestionnaire de compte dédié
NEXT_PUBLIC_ACCOUNT_MANAGER_EMAIL="enterprise@yourdomain.com"
# ── RATE LIMITING (Upstash Redis) ─────────────────────────────────────────────
# Sans ces variables, le rate limiting utilise un fallback en mémoire (dev only)
# Créer un compte gratuit sur https://console.upstash.com/ et créer une DB Redis
UPSTASH_REDIS_REST_URL="https://your-db.upstash.io"
UPSTASH_REDIS_REST_TOKEN="your-token"
# ── SMS (Twilio) ───────────────────────────────────────────────────────────────
# Optionnel — si absent, les rappels SMS sont silencieusement désactivés
# Créer un compte sur https://www.twilio.com/
TWILIO_ACCOUNT_SID="ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
TWILIO_AUTH_TOKEN="your-twilio-auth-token"
TWILIO_PHONE_NUMBER="+1234567890"
# ── WHO / MEDICAL APIs ────────────────────────────────────────────────────────
# Credentials WHO ICD API — https://icd.who.int/icdapi
WHO_ICD_CLIENT_ID="your-who-client-id"
WHO_ICD_CLIENT_SECRET="your-who-client-secret"
# Optionnel — augmente la limite OpenFDA de 40 à 240 req/min
# https://open.fda.gov/apis/authentication/
OPENFDA_API_KEY="your-openfda-api-key"