Aller à l'article
Aniq-UI

Dashboard 2Variables d'environnement

Variables d'environnement

Ce que fait chaque paramètre des fichiers .env de l'API et du tableau de bord, ceux dont vous avez besoin, et les options de Docker Compose.

Pour le pack Front + Back

Où se trouvent les paramètres

FichierLu parContient des secrets
back-end/.envL'API, avec yarn dev et dans Docker ComposeOui. Ne le versionnez jamais.
front-end/.envLe tableau de bord. Ses valeurs NEXT_PUBLIC_* sont compilées au moment du buildSeulement WEATHER_API_KEY, qui reste sur le serveur du tableau de bord
.env à côté de docker-compose.ymlDocker Compose, pour les deux applicationsSeulement WEATHER_API_KEY

Créez le fichier de chaque application à partir du .env.example placé à côté, qui documente chaque variable : cp .env.example .env. Les exemples fonctionnent tels quels pour un lancement local. Aucun des fichiers n'est nécessaire pour Docker Compose.

Où se trouvent les paramètres

Un fichier facultatif, .env dans le dossier du tableau de bord. Sans fichier, le tableau de bord fonctionne sur sa fausse API intégrée. .env.example le relie à une API sur http://localhost:8000 : copiez-le avec cp .env.example .env quand vous en avez une.

Avec Docker, les valeurs NEXT_PUBLIC_* sont des arguments de build (docker build --build-arg NAME=value), et WEATHER_API_KEY est une option d'exécution (docker run -e WEATHER_API_KEY=...).

Paramètres essentiels de l'API

L'API vérifie JWT_SECRET et, en production, CORS_ORIGIN avant de démarrer. Si l'un manque ou est inutilisable, elle s'arrête avec une ligne qui dit quoi corriger. Les variables déjà définies dans le processus, par Docker ou un hébergeur, l'emportent sur le fichier.

VariablePar défautRôle
NODE_ENVdevelopmentdevelopment crée et met à jour les tables au démarrage. production ne touche jamais aux tables, et refuse de démarrer avec le JWT_SECRET d'exemple ou sans CORS_ORIGIN.
PORT8000Le port de l'API. Le tableau de bord le vise.
DB_TYPEsqlitesqlite ou mysql.
SQLITE_DATABASE./database.sqliteLe fichier SQLite, relatif à back-end.
JWT_SECRETLa valeur d'exempleSigne chaque connexion. Obligatoire. La valeur de l'exemple n'est acceptée qu'en dehors de la production.
JWT_EXPIRATION7dLa durée d'une connexion.
CORS_ORIGINhttp://localhost:3030L'adresse du tableau de bord, séparées par des virgules s'il y en a plusieurs. Obligatoire en production.
FRONTEND_URLhttp://localhost:3030La seule adresse que les mises à jour des permissions en direct acceptent : celle du tableau de bord.
RATE_LIMIT_LOGIN10Les connexions échouées qu'une adresse peut faire en 15 minutes avant que la connexion ne réponde 429.
TRUST_PROXYVideLe nombre de reverse proxies devant l'API, par exemple 1 derrière Nginx ou Caddy, pour que la limite de connexion compte les visiteurs et non le proxy.

Générez votre propre JWT_SECRET avec :

Terminal
node -e "console.log(require('crypto').randomBytes(48).toString('hex'))"

Avant la mise en ligne. Chaque seed (yarn seed, yarn seed:prod et le premier démarrage Docker) crée les admins d'exemple avec les mots de passe affichés dans les guides. Changez leurs mots de passe ou supprimez-les, et définissez votre propre JWT_SECRET, avant que le tableau de bord ne soit accessible à quelqu'un d'autre.

Utiliser MySQL au lieu de SQLite

Créez une base de données vide, puis définissez le pilote et la connexion dans back-end/.env :

back-end/.env
DB_TYPE=mysql
DB_HOST=your-mysql-host
DB_PORT=3306
DB_USERNAME=your-mysql-username
DB_PASSWORD=your-mysql-password
DB_DATABASE=your-database-name

Puis lancez yarn seed, qui crée les tables et les données d'exemple. L'API en cours d'exécution ne crée et ne met à jour les tables elle-même qu'avec NODE_ENV=development : avec NODE_ENV=production, lancez donc yarn seed:prod une fois après yarn build, avant le premier démarrage.

Le tableau de bord

Chaque valeur NEXT_PUBLIC_* est compilée dans le JavaScript que le navigateur charge, et toute personne qui ouvre la page peut la lire. N'y mettez jamais de secret, et redémarrez yarn dev ou reconstruisez après en avoir changé une.

VariablePar défautRôle
NEXT_PUBLIC_API_BASE_URLVide : la fausse APIL'adresse de l'API avec /api, par exemple http://localhost:8000/api. Vide, le tableau de bord fonctionne sur sa fausse API intégrée avec des données d'exemple.
NEXT_PUBLIC_WEBSOCKET_BASE_URLL'adresse de l'API sans /apiLe serveur de l'API, pour les mises à jour des permissions en direct. Inutilisé sur la fausse API.
NEXT_PUBLIC_BASE_URLhttp://localhost:3030L'adresse publique du tableau de bord lui-même, sans barre oblique finale. robots.txt, le sitemap et les adresses absolues des métadonnées en sont construits.
WEATHER_API_KEYVideUne clé WeatherAPI.com pour la météo du message d'accueil de la vue d'ensemble, lue uniquement sur le serveur du tableau de bord. Vide, la météo est omise.
PORT3030Le port que yarn dev et yarn start utilisent.
BUILD_STANDALONENon définitrue fait produire à yarn build un serveur autonome, ce que définit le Dockerfile. Sinon, laissez-le non défini.

Il n'y a aucune clé de fournisseur d'IA dans le tableau de bord : elles vivent uniquement dans le .env de l'API.

Options de Docker Compose

Rien n'est à définir pour un lancement local. Pour changer quelque chose, mettez-le dans un fichier .env dans le dossier dashboard-2-full-stack, à côté de docker-compose.yml, et relancez docker compose up --build : le tableau de bord compile l'adresse de l'API.

VariablePar défautRôle
DASHBOARD_PORT3030Le port du tableau de bord sur votre ordinateur.
API_PORT8000Le port de l'API sur votre ordinateur.
DASHBOARD_URLhttp://localhost: et DASHBOARD_PORTL'endroit où le navigateur joint le tableau de bord. CORS_ORIGIN et FRONTEND_URL de l'API, ainsi que l'adresse du tableau de bord lui-même, en sont déduits.
API_URLhttp://localhost: et API_PORTL'endroit où le navigateur joint l'API. Le tableau de bord est construit avec cette adresse, suivie de /api.
WEATHER_API_KEYVideLa météo du message d'accueil de la vue d'ensemble.
dashboard-2-full-stack/.env
DASHBOARD_PORT=3040

Changez un port quand un autre programme l'utilise déjà, comme plus haut. Définissez DASHBOARD_URL et API_URL ensemble quand vous servez l'ensemble sur vos propres domaines.

Le conteneur de l'API lit aussi back-end/.env quand il existe : les clés d'IA, R2 et la clé MCP se définissent donc au même endroit pour yarn dev et Docker. Le fichier compose l'emporte pour les valeurs qui diffèrent dans un conteneur : NODE_ENV=production, le port, le fichier SQLite dans le volume dashboard-2-data, les deux adresses ci-dessus, et le mode démo, qu'il garde désactivé. Sans JWT_SECRET à vous, l'API en génère un et le garde dans le volume.

Envois d'images

Les photos de profil et les images jointes de l'assistant sont stockées dans un bucket Cloudflare R2. Définissez les cinq variables ; sans elles, l'envoi répond qu'il n'est pas configuré, et tout le reste fonctionne.

back-end/.env
R2_ACCESS_KEY_ID=your-r2-access-key-id
R2_SECRET_ACCESS_KEY=your-r2-secret-access-key
R2_ENDPOINT=https://your-account-id.r2.cloudflarestorage.com
R2_BUCKET_NAME=your-bucket-name
R2_PUBLIC_URL=https://your-public-url.r2.dev

R2_PUBLIC_URL est l'adresse publique du bucket, qui doit donc autoriser la lecture publique. Chaque envoi est une image d'au plus 10 Mo, enregistrée en JPEG d'au plus 1920 pixels de large, avec une copie plus petite à côté.

Clés de l'assistant IA

Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.

Quelles variables activent chaque fournisseur d'IA, et ce qui se passe quand l'une est laissée vide.

Le serveur MCP

Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.

Permettre aux agents de code et aux autres clients MCP d'utiliser les outils de l'assistant : la clé et l'endpoint.

Mode démo

Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.

Lancer une démo publique : les interrupteurs de démo, les messages d'assistant gratuits par visiteur, et ce que les visiteurs peuvent modifier.

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.