SecuFile
Configuration
Configuration détaillée de SecuFile
Book: SecuFile — Stockage sécurisé de fichiers | Chapter: Installation et Configuration
La configuration est entierement geree par variables d'environnement. En production, les secrets sont injectes via Kubernetes Secrets.
| Variable | Description | Defaut |
|---|
SERVER_PORT | Port d'ecoute | 8080 |
SERVER_HOST | Adresse d'ecoute | 0.0.0.0 |
ENVIRONMENT | Mode (dev/staging/prod) | dev |
CORS_ORIGINS | Origines autorisees (virgule) | "" (obligatoire en prod) |
LOG_LEVEL | Niveau de log (debug/info/warn/error) | info |
MAX_BODY_SIZE | Taille max requete (bytes) | 1048576 (1MB) |
| Variable | Description | Defaut |
|---|
DB_HOST | Hote PostgreSQL | localhost |
DB_PORT | Port | 5432 |
DB_USER | Utilisateur | filesecure |
DB_PASSWORD | Mot de passe | - |
DB_NAME | Nom de la base | filesecure |
DB_SSLMODE | Mode SSL | disable |
DB_MAX_OPEN_CONNS | Connexions max | 25 |
DB_MAX_IDLE_CONNS | Connexions idle max | 5 |
| Variable | Description | Defaut |
|---|
REDIS_HOST | Hote Redis | - |
REDIS_PORT | Port | 6379 |
REDIS_PASSWORD | Mot de passe | - |
REDIS_DB | Numero de base | 0 |
| Variable | Description | Defaut |
|---|
S3_ENDPOINT | Endpoint S3 OVH | s3.bhs.perf.cloud.ovh.net |
S3_REGION | Region | bhs |
S3_ACCESS_KEY_ID | Cle d'acces | - |
S3_SECRET_ACCESS_KEY | Cle secrete | - |
S3_BUCKET | Bucket par defaut | filesecure-dev |
S3_USE_SSL | Utiliser HTTPS | true |
| Variable | Description | Defaut |
|---|
JWT_SECRET | Cle secrete JWT (min 32 chars) | - |
JWT_ACCESS_TTL_MINUTES | Duree access token | 15 |
JWT_REFRESH_TTL_HOURS | Duree refresh token | 168 (7j) |
JWT_ISSUER | Emetteur JWT | filesecure |
| Variable | Description | Defaut |
|---|
RATE_LIMIT_AUTH | Limite auth (req/min) | 20 |
RATE_LIMIT_PUBLIC | Limite public (req/min) | 60 |
RATE_LIMIT_API | Limite API (req/min) | 120 |
| Variable | Description | Defaut |
|---|
ACCOUNT_LOCKOUT_ENABLED | Activer le verrouillage | true |
ACCOUNT_LOCKOUT_MAX_ATTEMPTS | Tentatives max | 5 |
ACCOUNT_LOCKOUT_DURATION | Duree de verrouillage | 15m |
| Variable | Description | Defaut |
|---|
STRIPE_SECRET_KEY | Cle secrete Stripe | - |
STRIPE_PUBLISHABLE_KEY | Cle publique Stripe | - |
STRIPE_WEBHOOK_SECRET | Secret webhook | - |
| Variable | Description | Defaut |
|---|
CLAMAV_ENABLED | Activer l'antivirus | false |
CLAMAV_HOST | Hote ClamAV | clamav |
CLAMAV_PORT | Port | 3310 |
| Variable | Description |
|---|
EXTERNAL_API_URL | URL de l'API Go (ex: https://api.secufile.secuaas.dev) |
DEBUG | Mode debug (true/false) |
POSTGRES_HOST | Hote PostgreSQL |
POSTGRES_PORT | Port PostgreSQL |
POSTGRES_DB | Nom de la base |
POSTGRES_USER | Utilisateur |
POSTGRES_PASSWORD | Mot de passe |
SERVICE_ACCOUNT_TOKEN | Token service account |
RESEND_API_KEY | Cle API Resend (emails) |
SENDER_EMAIL | Adresse d'envoi |
ZITADEL_CLIENT_ID | Client ID Zitadel (SSO) |
ZITADEL_CLIENT_SECRET | Secret Zitadel |
ZITADEL_ISSUER | Issuer Zitadel (ex: https://auth.secuaas.com) |
OVH_APPLICATION_KEY | Cle API OVH (billing) |
OVH_APPLICATION_SECRET | Secret API OVH |
OVH_CONSUMER_KEY | Consumer key OVH |
OVH_STORAGE_PROJECT_ID | ID projet OVH Cloud |
En production, aucun secret n'est stocke en clair dans le code. Tous les secrets sont geres via :
- Kubernetes Secrets : Injectes via
envFrom.secretRef dans les deployments
- OVH Secret Manager : Backup et compliance
- secuops CLI : Gestion des secrets via la ligne de commande
Le secret Kubernetes secufile-secrets contient 32+ cles couvrant tous les services.