SecuAAS Docs
SecuFile

Configuration

Configuration détaillée de SecuFile

Book: SecuFile — Stockage sécurisé de fichiers | Chapter: Installation et Configuration

Configuration

Variables d'environnement du backend Go

La configuration est entierement geree par variables d'environnement. En production, les secrets sont injectes via Kubernetes Secrets.

Serveur

VariableDescriptionDefaut
SERVER_PORTPort d'ecoute8080
SERVER_HOSTAdresse d'ecoute0.0.0.0
ENVIRONMENTMode (dev/staging/prod)dev
CORS_ORIGINSOrigines autorisees (virgule)"" (obligatoire en prod)
LOG_LEVELNiveau de log (debug/info/warn/error)info
MAX_BODY_SIZETaille max requete (bytes)1048576 (1MB)

Base de donnees PostgreSQL

VariableDescriptionDefaut
DB_HOSTHote PostgreSQLlocalhost
DB_PORTPort5432
DB_USERUtilisateurfilesecure
DB_PASSWORDMot de passe-
DB_NAMENom de la basefilesecure
DB_SSLMODEMode SSLdisable
DB_MAX_OPEN_CONNSConnexions max25
DB_MAX_IDLE_CONNSConnexions idle max5

Redis

VariableDescriptionDefaut
REDIS_HOSTHote Redis-
REDIS_PORTPort6379
REDIS_PASSWORDMot de passe-
REDIS_DBNumero de base0

S3 OVH

VariableDescriptionDefaut
S3_ENDPOINTEndpoint S3 OVHs3.bhs.perf.cloud.ovh.net
S3_REGIONRegionbhs
S3_ACCESS_KEY_IDCle d'acces-
S3_SECRET_ACCESS_KEYCle secrete-
S3_BUCKETBucket par defautfilesecure-dev
S3_USE_SSLUtiliser HTTPStrue

JWT

VariableDescriptionDefaut
JWT_SECRETCle secrete JWT (min 32 chars)-
JWT_ACCESS_TTL_MINUTESDuree access token15
JWT_REFRESH_TTL_HOURSDuree refresh token168 (7j)
JWT_ISSUEREmetteur JWTfilesecure

Rate Limiting

VariableDescriptionDefaut
RATE_LIMIT_AUTHLimite auth (req/min)20
RATE_LIMIT_PUBLICLimite public (req/min)60
RATE_LIMIT_APILimite API (req/min)120

Account Lockout

VariableDescriptionDefaut
ACCOUNT_LOCKOUT_ENABLEDActiver le verrouillagetrue
ACCOUNT_LOCKOUT_MAX_ATTEMPTSTentatives max5
ACCOUNT_LOCKOUT_DURATIONDuree de verrouillage15m

Stripe

VariableDescriptionDefaut
STRIPE_SECRET_KEYCle secrete Stripe-
STRIPE_PUBLISHABLE_KEYCle publique Stripe-
STRIPE_WEBHOOK_SECRETSecret webhook-

ClamAV

VariableDescriptionDefaut
CLAMAV_ENABLEDActiver l'antivirusfalse
CLAMAV_HOSTHote ClamAVclamav
CLAMAV_PORTPort3310

Variables du backend Python (WebGUI)

VariableDescription
EXTERNAL_API_URLURL de l'API Go (ex: https://api.secufile.secuaas.dev)
DEBUGMode debug (true/false)
POSTGRES_HOSTHote PostgreSQL
POSTGRES_PORTPort PostgreSQL
POSTGRES_DBNom de la base
POSTGRES_USERUtilisateur
POSTGRES_PASSWORDMot de passe
SERVICE_ACCOUNT_TOKENToken service account
RESEND_API_KEYCle API Resend (emails)
SENDER_EMAILAdresse d'envoi
ZITADEL_CLIENT_IDClient ID Zitadel (SSO)
ZITADEL_CLIENT_SECRETSecret Zitadel
ZITADEL_ISSUERIssuer Zitadel (ex: https://auth.secuaas.com)
OVH_APPLICATION_KEYCle API OVH (billing)
OVH_APPLICATION_SECRETSecret API OVH
OVH_CONSUMER_KEYConsumer key OVH
OVH_STORAGE_PROJECT_IDID projet OVH Cloud

Gestion des secrets

En production, aucun secret n'est stocke en clair dans le code. Tous les secrets sont geres via :

  1. Kubernetes Secrets : Injectes via envFrom.secretRef dans les deployments
  2. OVH Secret Manager : Backup et compliance
  3. secuops CLI : Gestion des secrets via la ligne de commande

Le secret Kubernetes secufile-secrets contient 32+ cles couvrant tous les services.

On this page