Installer RiskPilot #
Prérequis officiels #
- Docker 24 ou supérieur avec Docker Compose v2 ;
- GNU Make ;
- ports
8080et8025libres 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 startApplication : 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 #
| Commande | Usage | Impact |
|---|---|---|
make install | images, dépendances, clés JWT | conserve la base |
make start / stop / restart | cycle de la stack | conserve les volumes |
make logs | suit les 200 dernières lignes | aucun |
make migrate | applique Doctrine Migrations | modifie le schéma |
make fixtures | recharge la démonstration | purge la base |
make test | tests backend et frontend | base de test |
make lint | PHPStan, CS Fixer check, ESLint | aucun |
make shell-backend / shell-frontend | shell conteneur | selon la commande |
make reset | détruit volumes, reconstruit | supprime 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-interactionLe 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