Variables d'environnement
Tianji prend en charge diverses variables d'environnement pour personnaliser son comportement. Vous pouvez configurer ces variables dans votre champ env de composition docker ou via votre environnement de déploiement.
Configuration de base
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
PORT | Port du serveur | 12345 | 3000 |
JWT_SECRET | Secret pour les jetons JWT | Texte aléatoire | votre-secret-key |
ALLOW_REGISTER | Activer l'enregistrement des utilisateurs | false | true |
ALLOW_OPENAPI | Activer l'accès OpenAPI | true | false |
WEBSITE_ID | Identifiant du site web | - | votre-website-id |
DISABLE_AUTO_CLEAR | Désactiver le nettoyage automatique des données | false | true |
DISABLE_ACCESS_LOGS | Désactiver les journaux d'accès | false | true |
DB_DEBUG | Activer le débogage de la base de données | false | true |
ALPHA_MODE | Activer les fonctionnalités alpha | false | true |
ENABLE_FUNCTION_WORKER | Activer le worker de fonction | false | true |
REGISTER_AUTO_JOIN_WORKSPACE_ID | ID de l'espace de travail pour les nouveaux utilisateurs | - | workspace-id-123 |
Configuration du cache
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
CACHE_MEMORY_ONLY | Utiliser uniquement la mise en cache mémoire | false | true |
REDIS_URL | URL de connexion Redis | - | redis://localhost:6379 |
Authentification
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
DISABLE_ACCOUNT | Désactiver l'authentification par compte | false | true |
AUTH_SECRET | Secret d'authentification | MD5 du secret JWT | votre-auth-secret |
AUTH_RESTRICT_EMAIL | Restreindre l'enregistrement à certains domaines d'e-mail | - | @example.com |
AUTH_USE_SECURE_COOKIES | Utiliser des cookies sécurisés pour l'authentification | false | true |
Authentification par e-mail et invitation par e-mail
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
EMAIL_SERVER | Serveur SMTP pour les e-mails | - | smtp://user:[email protected]:587 |
EMAIL_FROM | Adresse de l'expéditeur d'e-mail | - | [email protected] |
Authentification GitHub
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
AUTH_GITHUB_ID | ID client OAuth GitHub | - | votre-github-client-id |
AUTH_GITHUB_SECRET | Secret client OAuth GitHub | - | votre-github-client-secret |
Authentification Google
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
AUTH_GOOGLE_ID | ID client OAuth Google | - | votre-google-client-id |
AUTH_GOOGLE_SECRET | Secret client OAuth Google | - | votre-google-client-secret |
Authentification OAuth/OIDC personnalisée
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
AUTH_CUSTOM_ID | ID client OAuth/OIDC personnalisé | - | votre-custom-client-id |
AUTH_CUSTOM_SECRET | Secret client OAuth/OIDC personnalisé | - | votre-custom-client-secret |
AUTH_CUSTOM_NAME | Nom du fournisseur personnalisé | Personnalisé | SSO Entreprise |
AUTH_CUSTOM_TYPE | Type d'authentification | oidc | oauth |
AUTH_CUSTOM_ISSUER | URL de l'émetteur OIDC | - | https://auth.example.com |
Fonctionnalités AI
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
SHARED_OPENAI_API_KEY | Clé API OpenAI | - | votre-openai-api-key |
SHARED_OPENAI_BASE_URL | URL API OpenAI personnalisée | - | https://api.openai.com/v1 |
SHARED_OPENAI_MODEL_NAME | Modèle OpenAI à utiliser | gpt-4o | gpt-3.5-turbo |
SHARED_OPENAI_TOKEN_CALC_CONCURRENCY | Concurrence de calcul des jetons | 5 | 10 |
DEBUG_AI_FEATURE | Déboguer les fonctionnalités AI | false | true |
Configuration ClickHouse
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
CLICKHOUSE_URL | URL de la base de données ClickHouse | - | http://localhost:8123 |
CLICKHOUSE_USER | Nom d'utilisateur ClickHouse | - | default |
CLICKHOUSE_PASSWORD | Mot de passe ClickHouse | - | votre-password |
CLICKHOUSE_DATABASE | Nom de la base de données ClickHouse | - | tianji |
CLICKHOUSE_DEBUG | Activer le débogage ClickHouse | false | true |
CLICKHOUSE_DISABLE_SYNC | Désactiver la synchronisation ClickHouse | false | true |
CLICKHOUSE_SYNC_BATCH_SIZE | Taille de lot de synchronisation | 10000 | 5000 |
CLICKHOUSE_ENABLE_FALLBACK | Activer la solution de secours ClickHouse | true | false |
CLICKHOUSE_HEALTH_CHECK_INTERVAL | Intervalle de vérification de santé (ms) | 30000 | 60000 |
CLICKHOUSE_MAX_CONSECUTIVE_FAILURES | Échecs consécutifs maximum | 3 | 5 |
CLICKHOUSE_RETRY_INTERVAL | Intervalle de réessai (ms) | 5000 | 10000 |
Système de facturation (LemonSqueezy)
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
ENABLE_BILLING | Activer la fonctionnalité de facturation | false | true |
LEMON_SQUEEZY_SIGNATURE_SECRET | Secret de signature webhook LemonSqueezy | - | votre-signature-secret |
LEMON_SQUEEZY_API_KEY | Clé API LemonSqueezy | - | votre-api-key |
LEMON_SQUEEZY_STORE_ID | ID du magasin LemonSqueezy | - | votre-store-id |
LEMON_SQUEEZY_SUBSCRIPTION_FREE_ID | ID de variante d'abonnement gratuit | - | free-variant-id |
LEMON_SQUEEZY_SUBSCRIPTION_PRO_ID | ID de variante d'abonnement Pro | - | pro-variant-id |
LEMON_SQUEEZY_SUBSCRIPTION_TEAM_ID | ID de variante d'abonnement d'équipe | - | team-variant-id |
Configuration Sandbox
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
USE_VM2 | Utiliser VM2 pour l'exécution sandbox | false | true |
SANDBOX_MEMORY_LIMIT | Limite de mémoire pour la sandbox (MB) | 16 | 32 |
PUPPETEER_EXECUTABLE_PATH | Chemin personnalisé vers l'exécutable Puppeteer | - | /usr/bin/chromium |
Intégration de cartes
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
AMAP_TOKEN | Jeton API AMap (Gaode) | - | votre-amap-token |
MAPBOX_TOKEN | Jeton API Mapbox | - | votre-mapbox-token |
Télémétrie
| Variable | Description | Défaut | Exemple |
|---|---|---|---|
DISABLE_ANONYMOUS_TELEMETRY | Désactiver la télémétrie anonyme | false | true |
CUSTOM_TRACKER_SCRIPT_NAME | Nom du script de suivi personnalisé | - | custom-tracker.js |
Définir les variables d'environnement
Vous pouvez définir ces variables d'environnement de différentes manières :
-
Les définir directement dans votre environnement de déploiement (Docker, Kubernetes, etc.)
-
Pour les déploiements Docker, vous pouvez utiliser des variables d'environnement dans votre docker-compose.yml :
services:
tianji:
image: moonrailgun/tianji:latest
environment:
- PORT=3000
- ALLOW_REGISTER=true
Valeurs booléennes
Pour les variables d'environnement booléennes, vous pouvez utiliser soit "1" soit "true" pour activer la fonctionnalité, ou soit omettre la variable, soit la définir à une autre valeur pour la désactiver.