234 lines
8.7 KiB
Plaintext
234 lines
8.7 KiB
Plaintext
# ============================================
|
|
# NEAH - Variables d'environnement
|
|
# ============================================
|
|
# Ce fichier liste toutes les variables d'environnement nécessaires pour Neah.
|
|
# Copiez ce fichier vers .env.local (développement) ou configurez-les dans votre plateforme de déploiement (Vercel, Docker, etc.)
|
|
#
|
|
# IMPORTANT: Ne commitez JAMAIS de fichiers .env avec des valeurs réelles !
|
|
|
|
# ============================================
|
|
# ENVIRONNEMENT & BASE
|
|
# ============================================
|
|
NODE_ENV=development
|
|
# production | development | test
|
|
|
|
NEXTAUTH_URL=http://localhost:3000
|
|
# URL publique de l'application (utilisée par NextAuth pour les callbacks)
|
|
# En production: https://votre-domaine.com
|
|
# En développement: http://localhost:3000
|
|
|
|
NEXTAUTH_SECRET=
|
|
# Secret pour signer les cookies NextAuth (générer avec: openssl rand -base64 32)
|
|
# OBLIGATOIRE en production
|
|
|
|
# ============================================
|
|
# BASE DE DONNÉES
|
|
# ============================================
|
|
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/calendar_db
|
|
# URL de connexion PostgreSQL (format: postgresql://user:password@host:port/database)
|
|
# Pour production auto-hébergée: postgresql://user:password@votre-serveur:5432/calendar_db
|
|
# Pour SSL: postgresql://user:password@host:5432/db?sslmode=require
|
|
|
|
NEWSDB_URL=postgresql://postgres:postgres@localhost:5432/news_db
|
|
# Base de données séparée pour les actualités (si utilisée)
|
|
|
|
NEWS_API_URL=http://localhost:3000/api/news
|
|
# URL de l'API des actualités
|
|
|
|
# ============================================
|
|
# KEYCLOAK - AUTHENTIFICATION
|
|
# ============================================
|
|
KEYCLOAK_BASE_URL=https://keycloak.example.com
|
|
# URL de base de Keycloak (sans /realms/...)
|
|
|
|
KEYCLOAK_REALM=neah
|
|
# Nom du realm Keycloak
|
|
|
|
KEYCLOAK_CLIENT_ID=neah-app
|
|
# ID du client Keycloak
|
|
|
|
KEYCLOAK_CLIENT_SECRET=
|
|
# Secret du client Keycloak (OBLIGATOIRE)
|
|
|
|
KEYCLOAK_ISSUER=https://keycloak.example.com/realms/neah
|
|
# URL complète de l'issuer Keycloak (format: {BASE_URL}/realms/{REALM})
|
|
# Alternative à KEYCLOAK_BASE_URL + KEYCLOAK_REALM
|
|
|
|
NEXT_PUBLIC_KEYCLOAK_ISSUER=https://keycloak.example.com/realms/neah
|
|
# Issuer Keycloak accessible côté client (pour les redirections SSO)
|
|
|
|
# Optionnel: Authentification admin Keycloak (si nécessaire pour certaines opérations)
|
|
KEYCLOAK_ADMIN_USERNAME=admin
|
|
KEYCLOAK_ADMIN_PASSWORD=
|
|
|
|
# ============================================
|
|
# REDIS - CACHE & SESSIONS
|
|
# ============================================
|
|
# Option 1: URL complète Redis
|
|
REDIS_URL=redis://:password@localhost:6379
|
|
# Format: redis://[:password@]host[:port][/database]
|
|
|
|
# Option 2: Paramètres séparés (priorité si REDIS_URL n'est pas défini)
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_PASSWORD=
|
|
# Mot de passe Redis (laisser vide si pas de mot de passe)
|
|
|
|
REDIS_ENCRYPTION_KEY=
|
|
# Clé de chiffrement pour les données sensibles dans Redis (générer avec: openssl rand -base64 32)
|
|
# Par défaut: 'default-encryption-key-change-in-production' (CHANGER EN PRODUCTION !)
|
|
|
|
# ============================================
|
|
# AWS S3 / MINIO - STOCKAGE FICHIERS
|
|
# ============================================
|
|
# Configuration S3 (pour MinIO ou AWS S3 réel)
|
|
S3_BUCKET=missions
|
|
# Nom du bucket S3
|
|
|
|
# Si utilisation de MinIO (auto-hébergé)
|
|
MINIO_S3_UPLOAD_BUCKET_URL=http://localhost:9000
|
|
# URL de l'endpoint MinIO
|
|
|
|
MINIO_AWS_REGION=us-east-1
|
|
# Région AWS (même pour MinIO)
|
|
|
|
MINIO_AWS_S3_UPLOAD_BUCKET_NAME=missions
|
|
# Nom du bucket pour les uploads
|
|
|
|
MINIO_ACCESS_KEY=minioadmin
|
|
# Clé d'accès MinIO
|
|
|
|
MINIO_SECRET_KEY=minioadmin
|
|
# Clé secrète MinIO
|
|
|
|
# Si utilisation d'AWS S3 réel (remplacer les variables MINIO_*)
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_REGION=us-east-1
|
|
AWS_S3_BUCKET=missions
|
|
|
|
# ============================================
|
|
# LEANTIME - GESTION DE PROJET
|
|
# ============================================
|
|
LEANTIME_API_URL=https://leantime.example.com
|
|
# URL de base de l'API Leantime
|
|
|
|
LEANTIME_TOKEN=
|
|
# Token d'API Leantime (OBLIGATOIRE si intégration activée)
|
|
|
|
# ============================================
|
|
# ROCKETCHAT - MESSAGERIE
|
|
# ============================================
|
|
ROCKET_CHAT_TOKEN=
|
|
# Token d'authentification admin RocketChat (OBLIGATOIRE si intégration activée)
|
|
|
|
ROCKET_CHAT_USER_ID=
|
|
# ID de l'utilisateur admin RocketChat (OBLIGATOIRE si intégration activée)
|
|
|
|
NEXT_PUBLIC_IFRAME_PAROLE_URL=https://rocketchat.example.com/channel/general
|
|
# URL publique de RocketChat (pour les iframes)
|
|
|
|
# ============================================
|
|
# N8N - AUTOMATISATION
|
|
# ============================================
|
|
N8N_API_KEY=
|
|
# Clé API N8N pour authentifier les webhooks (OBLIGATOIRE si intégration activée)
|
|
|
|
N8N_WEBHOOK_URL=https://brain.slm-lab.net/webhook/mission-created
|
|
# URL du webhook N8N pour la création de missions
|
|
|
|
N8N_ROLLBACK_WEBHOOK_URL=https://brain.slm-lab.net/webhook/mission-rollback
|
|
# URL du webhook N8N pour le rollback de missions
|
|
|
|
N8N_DELETE_WEBHOOK_URL=https://brain.slm-lab.net/webhook/mission-delete
|
|
# URL du webhook N8N pour la suppression de missions
|
|
|
|
NEXT_PUBLIC_API_URL=https://api.slm-lab.net/api
|
|
# URL publique de l'API Neah (utilisée par N8N pour les callbacks)
|
|
|
|
# ============================================
|
|
# DOLIBARR - ERP
|
|
# ============================================
|
|
DOLIBARR_API_URL=https://dolibarr.example.com
|
|
# URL de base de l'API Dolibarr
|
|
|
|
DOLIBARR_API_KEY=
|
|
# Clé API Dolibarr (OBLIGATOIRE si intégration activée)
|
|
|
|
# ============================================
|
|
# MICROSOFT OAUTH (Optionnel)
|
|
# ============================================
|
|
MICROSOFT_TENANT_ID=common
|
|
# ID du tenant Microsoft (ou 'common' pour multi-tenant)
|
|
|
|
MICROSOFT_CLIENT_ID=
|
|
# ID du client Microsoft OAuth
|
|
|
|
MICROSOFT_CLIENT_SECRET=
|
|
# Secret du client Microsoft OAuth
|
|
|
|
MICROSOFT_REDIRECT_URI=http://localhost:3000/api/auth/callback/microsoft
|
|
# URI de redirection OAuth Microsoft
|
|
|
|
# ============================================
|
|
# IFRAMES - INTÉGRATIONS EXTERNES
|
|
# ============================================
|
|
# URLs des différentes applications intégrées via iframe
|
|
NEXT_PUBLIC_IFRAME_CARNET_URL=https://carnet.example.com
|
|
NEXT_PUBLIC_IFRAME_DRIVE_URL=https://drive.example.com
|
|
NEXT_PUBLIC_IFRAME_LEARN_URL=https://learn.example.com
|
|
NEXT_PUBLIC_IFRAME_PAROLE_URL=https://rocketchat.example.com/channel/general
|
|
NEXT_PUBLIC_IFRAME_MISSIONSBOARD_URL=https://missionsboard.example.com
|
|
NEXT_PUBLIC_IFRAME_CHAPTER_URL=https://chapter.example.com
|
|
NEXT_PUBLIC_IFRAME_AGILITY_URL=https://agility.example.com
|
|
NEXT_PUBLIC_IFRAME_ARTLAB_URL=https://artlab.example.com
|
|
NEXT_PUBLIC_IFRAME_GITE_URL=https://gite.example.com
|
|
NEXT_PUBLIC_IFRAME_CALCULATION_URL=https://calculation.example.com
|
|
NEXT_PUBLIC_IFRAME_MEDIATIONS_URL=https://mediations.example.com
|
|
NEXT_PUBLIC_IFRAME_LIVRE_URL=https://livre.example.com
|
|
NEXT_PUBLIC_IFRAME_SHOWCASE_URL=https://showcase.example.com
|
|
NEXT_PUBLIC_IFRAME_RADIO_URL=https://radio.example.com
|
|
NEXT_PUBLIC_IFRAME_OBSERVATORY_URL=https://observatory.example.com
|
|
NEXT_PUBLIC_IFRAME_TIMETRACKER_URL=https://timetracker.example.com
|
|
NEXT_PUBLIC_IFRAME_THEMESSAGE_URL=https://themessage.example.com
|
|
NEXT_PUBLIC_IFRAME_MISSIONVIEW_URL=https://missionview.example.com
|
|
NEXT_PUBLIC_IFRAME_CONFERENCE_URL=https://vision.slm-lab.net/MonMeeting
|
|
|
|
# ============================================
|
|
# AUTRES SERVICES
|
|
# ============================================
|
|
NEXT_PUBLIC_APP_URL=http://localhost:3000
|
|
# URL publique de l'application (pour les scripts et callbacks)
|
|
|
|
EQUIPES_API_URL=https://equipes-api.example.com/users
|
|
# URL de l'API Equipes (si utilisée)
|
|
|
|
EQUIPES_API_TOKEN=
|
|
# Token d'authentification pour l'API Equipes
|
|
|
|
# ============================================
|
|
# NOTES IMPORTANTES
|
|
# ============================================
|
|
# 1. Les variables préfixées par NEXT_PUBLIC_ sont exposées côté client (navigateur)
|
|
# Ne jamais y mettre de secrets !
|
|
#
|
|
# 2. Pour la production sur Vercel:
|
|
# - Configurez toutes ces variables dans: Project Settings > Environment Variables
|
|
# - Assurez-vous que DATABASE_URL pointe vers votre PostgreSQL auto-hébergé
|
|
# - Vérifiez que NEXTAUTH_URL correspond à votre domaine Vercel
|
|
#
|
|
# 3. Pour la production avec Docker:
|
|
# - Ajoutez ces variables dans docker-compose.yml ou un fichier .env
|
|
# - Utilisez des secrets Docker pour les valeurs sensibles
|
|
#
|
|
# 4. Génération de secrets:
|
|
# - NEXTAUTH_SECRET: openssl rand -base64 32
|
|
# - REDIS_ENCRYPTION_KEY: openssl rand -base64 32
|
|
# - KEYCLOAK_CLIENT_SECRET: généré dans Keycloak Admin Console
|
|
#
|
|
# 5. Variables optionnelles:
|
|
# - Les variables d'intégration (LEANTIME, ROCKETCHAT, DOLIBARR, N8N) peuvent être omises
|
|
# si ces services ne sont pas utilisés
|
|
# - Les variables IFRAME peuvent avoir des valeurs par défaut ou être omises
|
|
# si les fonctionnalités correspondantes ne sont pas nécessaires
|