veza/VEZA_PRODUCTION_READY_GUIDE.md
2026-01-04 01:44:23 +01:00

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

  1. Générer les secrets :
    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 :
    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.