132 lines
3.9 KiB
Text
132 lines
3.9 KiB
Text
|
|
# =================================================================
|
||
|
|
# CONFIGURATION SERVEUR VEZA CHAT
|
||
|
|
# =================================================================
|
||
|
|
|
||
|
|
# Environnement (development, staging, production)
|
||
|
|
RUST_ENV=development
|
||
|
|
RUST_LOG=debug
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# BASE DE DONNÉES
|
||
|
|
# =================================================================
|
||
|
|
DATABASE_URL=postgresql://veza_user:veza_password@localhost:5432/veza_chat
|
||
|
|
DB_MAX_CONNECTIONS=10
|
||
|
|
DB_CONNECT_TIMEOUT=10
|
||
|
|
DB_AUTO_MIGRATE=true
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# SÉCURITÉ ET AUTHENTIFICATION
|
||
|
|
# =================================================================
|
||
|
|
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
|
||
|
|
JWT_ACCESS_DURATION=15m
|
||
|
|
JWT_REFRESH_DURATION=7d
|
||
|
|
JWT_ALGORITHM=HS256
|
||
|
|
JWT_AUDIENCE=veza-chat
|
||
|
|
JWT_ISSUER=veza-chat-server
|
||
|
|
|
||
|
|
# Authentification 2FA
|
||
|
|
ENABLE_2FA=false
|
||
|
|
TOTP_WINDOW=30
|
||
|
|
|
||
|
|
# Sécurité des mots de passe
|
||
|
|
PASSWORD_MIN_LENGTH=8
|
||
|
|
BCRYPT_COST=12
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# SERVEUR ET RÉSEAU
|
||
|
|
# =================================================================
|
||
|
|
SERVER_BIND_ADDR=127.0.0.1:8080
|
||
|
|
SERVER_WORKERS=0
|
||
|
|
CONNECTION_TIMEOUT=30
|
||
|
|
HEARTBEAT_INTERVAL=30
|
||
|
|
SHUTDOWN_TIMEOUT=10
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# CACHE REDIS (OPTIONNEL)
|
||
|
|
# =================================================================
|
||
|
|
REDIS_URL=redis://localhost:6379
|
||
|
|
REDIS_POOL_SIZE=10
|
||
|
|
REDIS_CONNECT_TIMEOUT=5
|
||
|
|
REDIS_DEFAULT_TTL=3600
|
||
|
|
REDIS_KEY_PREFIX=veza_chat:
|
||
|
|
REDIS_ENABLED=true
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# LIMITES ET QUOTAS
|
||
|
|
# =================================================================
|
||
|
|
MAX_MESSAGE_LENGTH=2000
|
||
|
|
MAX_CONNECTIONS_PER_USER=5
|
||
|
|
MAX_MESSAGES_PER_MINUTE=60
|
||
|
|
MAX_FILE_SIZE=10485760
|
||
|
|
MAX_FILES_PER_USER=100
|
||
|
|
MAX_ROOMS_PER_USER=50
|
||
|
|
MAX_MEMBERS_PER_ROOM=1000
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# FONCTIONNALITÉS
|
||
|
|
# =================================================================
|
||
|
|
ENABLE_FILE_UPLOADS=true
|
||
|
|
ENABLE_MESSAGE_REACTIONS=true
|
||
|
|
ENABLE_USER_MENTIONS=true
|
||
|
|
ENABLE_PINNED_MESSAGES=true
|
||
|
|
ENABLE_MESSAGE_THREADS=true
|
||
|
|
ENABLE_WEBHOOKS=true
|
||
|
|
ENABLE_PUSH_NOTIFICATIONS=false
|
||
|
|
ENABLE_MESSAGE_HISTORY=true
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# LOGGING
|
||
|
|
# =================================================================
|
||
|
|
LOG_LEVEL=info
|
||
|
|
LOG_FORMAT=json
|
||
|
|
LOG_FILE=logs/chat-server.log
|
||
|
|
LOG_ROTATION_SIZE=100MB
|
||
|
|
LOG_ROTATION_FILES=10
|
||
|
|
LOG_COMPRESSION=true
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# INTÉGRATIONS EXTERNES
|
||
|
|
# =================================================================
|
||
|
|
|
||
|
|
# Email (optionnel)
|
||
|
|
SMTP_HOST=smtp.gmail.com
|
||
|
|
SMTP_PORT=587
|
||
|
|
SMTP_USERNAME=your-email@gmail.com
|
||
|
|
SMTP_PASSWORD=your-app-password
|
||
|
|
EMAIL_FROM_ADDRESS=noreply@veza-chat.com
|
||
|
|
EMAIL_FROM_NAME=Veza Chat
|
||
|
|
|
||
|
|
# Prometheus métriques (optionnel)
|
||
|
|
PROMETHEUS_BIND_ADDR=127.0.0.1:9090
|
||
|
|
PROMETHEUS_PATH=/metrics
|
||
|
|
|
||
|
|
# Webhooks sortants (optionnel)
|
||
|
|
WEBHOOK_USER_EVENTS=https://api.yourapp.com/webhooks/user-events
|
||
|
|
WEBHOOK_MESSAGE_EVENTS=https://api.yourapp.com/webhooks/message-events
|
||
|
|
WEBHOOK_SECRET=your-webhook-secret
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# DÉVELOPPEMENT
|
||
|
|
# =================================================================
|
||
|
|
|
||
|
|
# Base de données de test
|
||
|
|
TEST_DATABASE_URL=postgresql://veza_test:veza_test@localhost:5432/veza_chat_test
|
||
|
|
|
||
|
|
# Debug et développement
|
||
|
|
ENABLE_DEBUG_ENDPOINTS=true
|
||
|
|
ENABLE_CORS=true
|
||
|
|
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001
|
||
|
|
|
||
|
|
# =================================================================
|
||
|
|
# PRODUCTION
|
||
|
|
# =================================================================
|
||
|
|
|
||
|
|
# SSL/TLS (production uniquement)
|
||
|
|
ENABLE_TLS=false
|
||
|
|
TLS_CERT_PATH=/path/to/cert.pem
|
||
|
|
TLS_KEY_PATH=/path/to/key.pem
|
||
|
|
|
||
|
|
# Performance (production)
|
||
|
|
ENABLE_COMPRESSION=true
|
||
|
|
ENABLE_METRICS=true
|
||
|
|
ENABLE_HEALTH_CHECK=true
|