RiskPilot SiteGitHubDémo

Configuration et déploiement #

Variables structurantes #

APP_ENV, APP_DEBUG, APP_SECRET, APP_URL, DATABASE_URL, REDIS_URL, MESSENGER_TRANSPORT_DSN, les clés JWT et VITE_API_URL. Ne publiez jamais .env ni une valeur secrète.

HTTPS et reverse proxy #

Docker sert HTTP sur 8080. Le modèle nginx.conf.example termine TLS 1.2/1.3, redirige HTTP, active HSTS et transmet le contexte HTTPS. APP_URL doit correspondre à l’origine publique pour les callbacks OAuth.

Persistance et services #

Sauvegardez PostgreSQL, Redis, isms_document_files et jwt_keys. Le worker traite les emails ; le scheduler expire les acceptations et rappelle les revues. Mailpit est désactivé en production.

Les profils Compose object-storage et antivirus activent facultativement MinIO et ClamAV. Exécutez les migrations à chaque livraison et contrôlez /api/health. Ne chargez jamais les fixtures en production.

Déploiement pas à pas #

  1. Préparez DNS et certificat.
  2. Créez .env depuis l’exemple sans le versionner.
  3. Définissez secrets uniques et APP_URL=https://riskpilot.site.
  4. Démarrez avec les deux fichiers Compose.
  5. Appliquez les migrations en tâche contrôlée.
  6. Vérifiez santé, connexion, email, documents et export.
  7. Activez le trafic via le reverse proxy.

Worker et scheduler #

Le worker consomme les notifications ; le scheduler traite expirations et rappels. Vérifiez redémarrage automatique, mémoire, logs et profondeur de file. Une application accessible avec un worker arrêté reste fonctionnellement dégradée.

Stockage documentaire #

Le volume privé est le défaut. S3/MinIO exige bucket, accès privé, chiffrement, sauvegarde et politique de cycle de vie. ClamAV ajoute une analyse facultative mais ne remplace pas les contrôles de type, taille et signature.

Mise à jour et retour arrière #

Sauvegardez avant migration, notez versions d’images et testez la restauration. Un rollback de code avec un schéma plus récent doit être explicitement compatible ; ne rétrogradez pas la base sans migration prévue.

Contrôles avant mise en production #

Exécutez ./scripts/check-production-env.sh .env avant chaque livraison. Le script contrôle la présence et la robustesse des variables critiques sans afficher leurs valeurs. Il complète, sans remplacer, le gestionnaire de secrets, les migrations contrôlées, TLS sur le reverse proxy et le test /api/health.

Après déploiement, LOAD_REQUESTS=100 LOAD_CONCURRENCY=10 LOAD_MAX_P95_MS=750 ./scripts/load-smoke.sh https://riskpilot.example.com vérifie la disponibilité et un seuil p95 minimal. Ce contrôle anonyme ne remplace pas un parcours métier authentifié. Sur une petite démo, le worker Messenger recycle son processus PHP périodiquement et son healthcheck vérifie le consommateur réel afin de ne pas laisser la file arrêtée.