Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Référence de configuration

OpenPR est configuré via des variables d'environnement. Tous les services lisent depuis le même fichier .env lors de l'utilisation de Docker Compose, ou des variables d'environnement individuelles lors d'une exécution directe.

Serveur API

VariableDéfautDescription
APP_NAMEapiIdentifiant d'application pour la journalisation
BIND_ADDR0.0.0.0:8080Adresse et port d'écoute de l'API
DATABASE_URL--Chaîne de connexion PostgreSQL
JWT_SECRETchange-me-in-productionClé secrète pour signer les jetons JWT
JWT_ACCESS_TTL_SECONDS2592000 (30 jours)Durée de vie du jeton d'accès en secondes
JWT_REFRESH_TTL_SECONDS604800 (7 jours)Durée de vie du jeton de rafraîchissement en secondes
RUST_LOGinfoNiveau de journalisation (trace, debug, info, warn, error)
UPLOAD_DIR/app/uploadsRépertoire pour les téléchargements de fichiers

Sécurité

Changez toujours JWT_SECRET avec une valeur forte et aléatoire en production. Utilisez au moins 32 caractères de données aléatoires :

bash
openssl rand -hex 32

Base de données

VariableDéfautDescription
DATABASE_URL--Chaîne de connexion PostgreSQL complète
POSTGRES_DBopenprNom de la base de données
POSTGRES_USERopenprUtilisateur de la base de données
POSTGRES_PASSWORDopenprMot de passe de la base de données

Format de la chaîne de connexion :

postgres://user:password@host:port/database

Docker Compose

Lors de l'utilisation de Docker Compose, le service de base de données s'appelle postgres, donc la chaîne de connexion est :

postgres://openpr:openpr@postgres:5432/openpr

Worker

VariableDéfautDescription
APP_NAMEworkerIdentifiant d'application
DATABASE_URL--Chaîne de connexion PostgreSQL
JWT_SECRET--Doit correspondre à la valeur du serveur API
RUST_LOGinfoNiveau de journalisation

Le worker traite les tâches en arrière-plan depuis les tables job_queue et scheduled_jobs.

Serveur MCP

VariableDéfautDescription
APP_NAMEmcp-serverIdentifiant d'application
OPENPR_API_URL--URL du serveur API (incluant le proxy si applicable)
OPENPR_BOT_TOKEN--Jeton bot avec préfixe opr_
OPENPR_WORKSPACE_ID--UUID de l'espace de travail par défaut
DATABASE_URL--Chaîne de connexion PostgreSQL
JWT_SECRET--Doit correspondre à la valeur du serveur API
DEFAULT_AUTHOR_ID--UUID d'auteur de secours pour les opérations MCP
RUST_LOGinfoNiveau de journalisation

Options de transport MCP

Le binaire du serveur MCP accepte des arguments en ligne de commande :

bash
# Mode HTTP (par défaut)
mcp-server --transport http --bind-addr 0.0.0.0:8090

# Mode stdio (pour Claude Desktop, Codex)
mcp-server --transport stdio

# Forme avec sous-commande
mcp-server serve --transport http --bind-addr 0.0.0.0:8090

Frontend

VariableDéfautDescription
VITE_API_URLhttp://localhost:8080URL du serveur API pour que le frontend se connecte

Proxy inverse

En production avec un proxy inverse (Caddy/Nginx), VITE_API_URL doit pointer vers l'URL du proxy qui route vers le serveur API.

Ports Docker Compose

ServicePort internePort externeObjectif
PostgreSQL54325432Base de données
API80808081API REST
Worker----Tâches en arrière-plan (pas de port)
Serveur MCP80908090Outils MCP
Frontend803000Interface web

Exemple de fichier .env

bash
# Base de données
DATABASE_URL=postgres://openpr:openpr@localhost:5432/openpr
POSTGRES_DB=openpr
POSTGRES_USER=openpr
POSTGRES_PASSWORD=openpr

# JWT (CHANGER EN PRODUCTION)
JWT_SECRET=change-me-in-production
JWT_ACCESS_TTL_SECONDS=2592000
JWT_REFRESH_TTL_SECONDS=604800

# Serveur API
APP_NAME=api
BIND_ADDR=0.0.0.0:8080
RUST_LOG=info

# Frontend
VITE_API_URL=http://localhost:8080

# Serveur MCP
MCP_SERVER_PORT=8090

Niveaux de journalisation

OpenPR utilise le crate tracing pour la journalisation structurée. Définissez RUST_LOG pour contrôler la verbosité :

NiveauDescription
errorErreurs uniquement
warnErreurs et avertissements
infoMessages opérationnels normaux (par défaut)
debugInformations de débogage détaillées
traceTrès verbeux, inclut toutes les opérations internes

Le filtrage par module est pris en charge :

bash
RUST_LOG=info,api=debug,mcp_server=trace

Étapes suivantes

Released under the Apache-2.0 License.