- Archiver 131 .md dans docs/archive/root-md/ - Archiver 22 .json dans docs/archive/root-json/ - Conserver 7 .md utiles (README, CONTRIBUTING, CHANGELOG, etc.) - Conserver package.json, package-lock.json, turbo.json - Ajouter README d'index dans chaque archive
2.5 KiB
2.5 KiB
🚀 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
- Générer les secrets :
export JWT_SECRET=$(openssl rand -base64 32) export SECRET_KEY=$(openssl rand -base64 32) - Préparer les fichiers de config :
- Copiez
.env.productionlocalement. - Configurez vos domaines dans
nginx.conf.
- Copiez
- Lancer le stack :
docker compose -f docker-compose.prod.yml up -d --build - 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").
- Dashboard :
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.