# 🚀 VEZA - Guide de DĂ©ploiement en Production Ce guide explique comment passer votre MVP Veza d'un mode "Laboratoire" Ă  un mode "Production" sĂ©curisĂ© et performant. ## 1. Configuration de l'Environnement Toutes les variables d'environnement doivent ĂȘtre dĂ©finies dans un fichier `.env` protĂ©gĂ©. ### SĂ©curitĂ© Critique - **APP_ENV** : Doit ĂȘtre positionnĂ© sur `production`. Cela active la vĂ©rification stricte du CSRF et masque les stack traces dans les logs. - **JWT_SECRET** : Utilisez une clĂ© de 64 caractĂšres minimum (`openssl rand -base64 48`). - **CORS_ORIGINS** : Ne jamais utiliser `*`. Listez explicitement vos domaines (ex: `https://app.veza.io`). ## 2. Infrastructure & Docker Utilisez le fichier `docker-compose.prod.yml` fourni. Il inclut des optimisations et des conteneurs supplĂ©mentaires pour la sĂ©curitĂ©. ### Composants additionnels - **ClamAV** : Indispensable pour scanner les uploads de fichiers musicaux contre les virus. - **Nginx Reverse Proxy** : RecommandĂ© pour gĂ©rer le SSL/TLS et servir le frontend statique. ## 3. StratĂ©gie de Stockage Pour les fichiers audio et les avatars : - **Mode Local** : Utilisez des volumes Docker persistants (dĂ©jĂ  configurĂ©s). - **Mode S3 (RecommandĂ©)** : Modifiez la configuration backend pour pointer vers un bucket AWS S3 ou MinIO pour une meilleure scalabilitĂ©. ## 4. Hardening (Renforcement) - **SSL/TLS** : Utilisez des certificats Let's Encrypt (via Certbot ou Traefik). - **Redis** : Assurez-vous que Redis est accessible uniquement en interne par le backend. Il est crucial pour la protection CSRF et le Rate Limiting. - **Base de donnĂ©es** : Changez les mots de passe par dĂ©faut (`password`) avant le premier lancement. ## 5. ProcĂ©dure de Lancement 1. **GĂ©nĂ©rer les secrets** : ```bash export JWT_SECRET=$(openssl rand -base64 32) export SECRET_KEY=$(openssl rand -base64 32) ``` 2. **PrĂ©parer les fichiers de config** : - Copiez `.env.production` localement. - Configurez vos domaines dans `nginx.conf`. 3. **Lancer le stack** : ```bash docker compose -f docker-compose.prod.yml up -d --build ``` 4. **VĂ©rifier la santĂ©** : - Dashboard : `https://votre-domaine.com` - SantĂ© API : `https://api.votre-domaine.com/api/v1/status` (vĂ©rifiez que ClamAV est "Healthy"). ## 6. Maintenance - **Sauvegardes** : Automatisez un dump de la base Postgres toutes les 24h. - **Logs** : Docker envoie les logs vers `stdout/stderr`, vous pouvez les agrĂ©ger via ELK ou Grafana Loki.