Aller au contenu principal

Variables d'environnement

Backend (Nomu-Back)

VariableRequisDéfautDescription
PORTNon3001Port de l'API Express
NODE_ENVNondevelopmentdevelopment ou production
JWT_SECRETOuiSecret pour les tokens JWT
SESSION_SECRETOuiSecret pour les sessions Express/Passport
DB_NAMEOuiNom de la base PostgreSQL
DB_USEROuiUtilisateur PostgreSQL
DB_PASSWORDOuiMot de passe PostgreSQL
DB_HOSTOuiHost PostgreSQL (postgres en Docker)
DB_PORTNon5432Port PostgreSQL
MEILI_HOSTOuiURL Meilisearch (http://meilisearch:7700)
MEILI_MASTER_KEYOuiMaster key Meilisearch
MEILI_API_KEYOuiClé API Meilisearch
MEILI_INDEX_PROFILESOuiNom de l'index (profiles_dev / profiles_prod)
OPENAI_API_KEYRecommandéClé OpenAI pour les embeddings sémantiques
GOOGLE_CLIENT_IDOui (OAuth)Google OAuth client ID (web)
GOOGLE_CLIENT_SECRETOui (OAuth)Google OAuth client secret
GOOGLE_MOBILE_CLIENT_IDOui (OAuth)Google OAuth client ID (Android)
GOOGLE_IOS_CLIENT_IDOui (OAuth)Google OAuth client ID (iOS)
GOOGLE_CALLBACK_URLOui (OAuth)URL de callback OAuth (ex: https://api.nomu.fr/auth/google/callback)
CLIENT_URLOui (prod)URL du frontend (CORS, ex: https://app.nomu.fr)
MINIO_ROOT_USEROuiIdentifiant root MinIO
MINIO_ROOT_PASSWORDOuiMot de passe root MinIO
MINIO_PUBLIC_URLOuiURL publique MinIO pour les uploads
attention

Sans OPENAI_API_KEY, la recherche sémantique est désactivée. La recherche fonctionne toujours en mode keyword uniquement.

# Nomu-Back/.env
PORT=3001
JWT_SECRET=
SESSION_SECRET=
MEILI_HOST=
MEILI_MASTER_KEY=
MEILI_API_KEY=
MEILI_INDEX_PROFILES=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_PORT=
OPENAI_API_KEY=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_MOBILE_CLIENT_ID=
GOOGLE_IOS_CLIENT_ID=
GOOGLE_CALLBACK_URL=
CLIENT_URL=
MINIO_ROOT_USER=
MINIO_ROOT_PASSWORD=
MINIO_PUBLIC_URL=

Frontend Web (Nomu-Web)

VariableDescription
NUXT_API_BASE_URLURL interne de l'API (server-side, ex: http://localhost:3001)
NUXT_PUBLIC_SOCKET_URLURL WebSocket accessible au client
NUXT_PUBLIC_API_BASEURL publique de l'API (client-side)
# Nomu-Web/.env
NUXT_API_BASE_URL=
NUXT_PUBLIC_SOCKET_URL=
NUXT_PUBLIC_API_BASE=

Proxy Nuxt

Le frontend proxifie toutes les requêtes /api/* vers le backend :

// nuxt.config.ts
runtimeConfig: {
apiBaseUrl: 'http://localhost:3001', // server-side
public: {
socketUrl: 'http://localhost:3001', // client-side
apiBase: 'http://localhost:3001', // client-side
}
}

Les appels $fetch('/api/users/me') sont automatiquement redirigés vers http://localhost:3001/users/me.


Mobile (Nomu-Front)

VariableDescription
EXPO_PUBLIC_API_BASE_URLURL de l'API backend
EXPO_PUBLIC_GOOGLE_CLIENT_IDGoogle OAuth client ID (Android/web)
EXPO_PUBLIC_GOOGLE_IOS_CLIENT_IDGoogle OAuth client ID (iOS)
# Nomu-Front/.env
EXPO_PUBLIC_API_BASE_URL=
EXPO_PUBLIC_GOOGLE_CLIENT_ID=
EXPO_PUBLIC_GOOGLE_IOS_CLIENT_ID=

Admin (Nomu-Admin)

VariableDescription
NUXT_SESSION_PASSWORDSecret pour les sessions admin (min. 32 caractères)
NUXT_OAUTH_GOOGLE_CLIENT_IDGoogle OAuth client ID
NUXT_OAUTH_GOOGLE_CLIENT_SECRETGoogle OAuth client secret
NUXT_API_BASEURL de l'API backend
# Nomu-Admin/.env
NUXT_SESSION_PASSWORD=
NUXT_OAUTH_GOOGLE_CLIENT_ID=
NUXT_OAUTH_GOOGLE_CLIENT_SECRET=
NUXT_API_BASE=