RiskPilot SiteGitHubDémo

Installer RiskPilot #

Prérequis officiels #

  • Docker 24 ou supérieur avec Docker Compose v2 ;
  • GNU Make ;
  • ports 8080 et 8025 libres en développement.

PHP, Composer, Node.js et PostgreSQL ne sont pas nécessaires sur l’hôte avec Docker. Le dépôt ne fixe pas de minimum de mémoire ou de stockage. Pour la production, dimensionnez après mesure, prévoyez DNS, certificat TLS et espace pour PostgreSQL et les documents.

Installation locale #

git clone https://github.com/aurelson101/riskpilot.git
cd riskpilot
cp .env.example .env
make install
make start

Application : http://localhost:8080 · API : http://localhost:8080/api · Mailpit : http://localhost:8025.

make install construit les images, installe Composer et npm, puis génère la paire JWT si elle manque. make start démarre les services sans lancer automatiquement les migrations.

Initialiser les données #

make migrate
make fixtures

> Attention : les fixtures purgent et remplacent les données de la base courante. Ne lancez jamais cette commande en production.

Pour une base vide :

docker compose exec backend php bin/console app:user:create-admin \
  "Mon organisation" admin@example.com "un-mot-de-passe-robuste"

Commandes Make #

CommandeUsageImpact
make installimages, dépendances, clés JWTconserve la base
make start / stop / restartcycle de la stackconserve les volumes
make logssuit les 200 dernières lignesaucun
make migrateapplique Doctrine Migrationsmodifie le schéma
make fixturesrecharge la démonstrationpurge la base
make testtests backend et frontendbase de test
make lintPHPStan, CS Fixer check, ESLintaucun
make shell-backend / shell-frontendshell conteneurselon la commande
make resetdétruit volumes, reconstruitsupprime les données locales

Production #

docker compose -f compose.yaml -f compose.prod.yaml up -d --build
docker compose exec backend php bin/console doctrine:migrations:migrate --no-interaction

Le compose reste HTTP sur 8080. Terminez HTTPS dans un reverse proxy externe à partir de nginx.conf.example. Définissez APP_ENV=prod, APP_DEBUG=0 et une APP_URL HTTPS exacte. jwt-init gère les clés persistantes ; worker consomme Messenger et scheduler traite expirations et rappels.

Contrôles #

make test
make lint
curl http://localhost:8080/api/health