ENbext.dev
DocumentationConfiguration

Traduction automatique depuis l’anglais. Consulter l’original.

Sur cette page

bext.config.toml

Référence complète pour toutes les options de configuration. Voir docs/platform/06-config-reference.md dans le référentiel bext pour les spécifications complètes.

Sections#

Section Description
[server] Adresse d'écoute, répertoire statique, URL proxy en mode hybride
[cache] Cache ISR (entrées maximales, TTL, SWR), cache locataire TTL
[render] Nombre de travailleurs, chemin du bundle, streaming + bascules RSC
[build] Construire un script, regarder les répertoires, configuration CSS
[build.css] Sources et fichiers CSS supplémentaires pour Tailwind natif de Rust
[nextjs] Rendu à la demande, durée de vie du cache, limites du shell
[admin] Activation du panneau d'administration, secret JWT, utilisateurs
[auth] Secret JWT, nom du cookie, contournement de l'hôte local
[cors] Origines autorisées, âge maximum
[rate_limit] Requêtes par minute, activer/désactiver
[i18n] Paramètres régionaux, paramètres régionaux par défaut, stratégie de préfixe
[database] URL PostgreSQL, pool de connexions
[license] Clé de licence pour les fonctionnalités Pro/Entreprise
[redis] URL Redis pour la mise à l'échelle horizontale
[tls] Auto-TLS (ACME), certificats manuels
[waf] Règles WAF, filtre IP, géoblocage
[realtime] Configuration du hub SSE/ WebSocket
[plugins] Répertoires de plugins, configuration WASM
[storage] Stockage d'objets pour les sauvegardes (local, S3, R2)
[storage.backup] Planification et conservation automatiques des sauvegardes
[endpoints] Visibilité des points de terminaison (santé, métriques, API, obs, admin)
[telemetry] Point final OpenTelemetry, échantillonnage

[license]#

toml
[license]
# License key for Pro or Enterprise features.
# Can also be set via BEXT_LICENSE_KEY environment variable.
# Omit for Community (free) tier.
key = "BEXT-PRO-eyJ0aWVy..."
Conseil

Préférez la variable d'environnement BEXT_LICENSE_KEY plutôt que de placer la clé directement dans bext.config.toml : elle garde les secrets hors du contrôle de version et permet à différents environnements d'utiliser différents niveaux sans modifier le fichier.

Voir Licence pour plus de détails sur les niveaux et Installation pour les options de configuration.

[storage]#

Stockage d'objets pour les sauvegardes. Prend en charge le système de fichiers local, AWS S3 et Cloudflare R2.

toml
[storage]
provider = "s3"                          # "local", "s3", or "r2"
bucket = "my-bext-backups"
region = "us-east-1"                     # Ignored for R2
endpoint = ""                            # Required for R2/MinIO
prefix = "bext/prod/"                    # Optional key prefix
access_key_env = "BEXT_STORAGE_ACCESS_KEY"   # Env var name for access key
secret_key_env = "BEXT_STORAGE_SECRET_KEY"   # Env var name for secret key
local_path = ".bext/storage"             # Path for local provider

[storage.backup]
enabled = true                           # Enable automatic scheduled backups
schedule = "0 2 * * *"                   # Cron schedule (default: daily 2am)
retention_days = 30                      # Auto-delete backups older than N days
include_blobs = true                     # Include blob files in backups
include_databases = true                 # Include SQLite databases
include_cache = false                    # Include ISR cache snapshot
max_size_mb = 0                          # Max backup size (0 = unlimited)

Utilisation de la CLI :

bash
bext-server backup create --provider s3 --bucket my-bext
bext-server backup list
bext-server backup restore backup-20260404-020000

Voir Référence CLI pour tous les indicateurs.

Exemple rapide#

toml
[server]
listen = "0.0.0.0:3061"
static_dir = "./dist/static"

[license]
key = "BEXT-PRO-eyJ0aWVy..."

[cache.isr]
max_entries = 10_000
default_ttl_ms = 60_000
default_swr_ms = 3_600_000

[render]
bundle_path = "dist/ssr-bundle.js"
workers = 4

[rate_limit]
requests_per_minute = 600
enabled = true

Moteur de rendu#

toml
[render]
workers = 4                  # SSR worker thread count (applies to both engines)
bundle_path = "dist/ssr-bundle.js"  # Pre-built SSR bundle path

# Streaming SSR (V8 only) — react-dom/server renderToReadableStream
# driven by bext's custom event-loop driver. Required for async server
# components, Suspense boundaries, and the use(promise) hook.
streaming = true
streaming_timeout_ms = 5000  # Wall-clock cap per render
streaming_stall_ms   = 250   # Bail out if no new chunk for this long

# React Server Components (V8 only, experimental). When enabled,
# /__bext/rsc/<path> serves the route's Flight payload via
# react-server-dom-parcel. Compiled in a separate bundle with
# --conditions=react-server.
rsc = false

Voir Moteur de rendu V8 pour l'architecture complète de streaming + RSC.

Next.js / PRISM à la demande#

toml
[nextjs]
compat = "full"              # "full" (real layouts) or "prism" (default)
on_demand = true             # Per-route compilation (default: false)
shared_react = false         # Use globalThis.React (auto-set when V8 layered pipeline active)
cache_ttl = 60               # Response cache TTL in seconds (default: 60)
cache_swr = 300              # Stale-while-revalidate window in seconds (default: 300)
max_shell_size = 524288      # Max site shell bundle size in bytes (default: 512KB)

Construction CSS#

toml
[build.css]
extra_sources = ["../shared/ui/src"]   # Additional dirs to scan for Tailwind classes
extra_css = [                          # CSS files to concatenate into styles.css
  "../shared/ui/src/styles/tokens.css",
  "../shared/ui/src/styles/global.css",
  "../shared/ui/src/styles/components.css",
]

Générez du CSS avec : bext-server css [dir] ou bext-server css --all sites/

Panneau d'administration#

toml
[admin]
enabled = true
jwt_secret = "your-admin-jwt-secret"

[[admin.users]]
username = "admin"
password_hash = "sha256:<sha256-hash>"   # echo -n 'password' | sha256sum

Accès à /__bext/admin/. Point de terminaison de connexion JSON à /__bext/admin/api/login/json.

Générez des informations d'identification avec la CLI au lieu du hachage manuel :

bash
bext config credentials create --username admin --role super_admin

Visibilité des points de terminaison#

Contrôlez quels groupes de points de terminaison intégrés sont exposés. Les groupes handicapés renvoient 404.

toml
[endpoints]
health = true       # GET /health (default: true)
metrics = false     # GET /metrics — Prometheus (default: true)
api = true          # /api/* management — requires super_admin (default: true)
obs = true          # /__bext/obs/* observability — requires viewer (default: true)
admin = true        # /__bext/admin/* panel — overrides [admin].enabled when set

Lorsque admin est omis, il suit [admin].enabled. Voir Points de terminaison et informations d'identification pour les outils CLI et la liste complète des points de terminaison.

En rapport#

Modifier cette page ↗Besoin d’aide ? ↗
Rechercher dans la documentation

Saisissez un sujet, une commande ou une question.