RiskPilot Website FR GitHub

Install RiskPilot #

Official prerequisites #

  • Docker 24 or higher with Docker Compose v2;
  • GNU Make;
  • 8080 and 8025 ports free in development.

PHP, Composer, Node.js and PostgreSQL are not needed on the host with Docker. The repository does not set a memory or storage minimum. For production, size after measurement, provide DNS, TLS certificate and space for PostgreSQL and documents.

Local installation #

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 builds the images, installs Composer and npm, then generates the JWT pair if missing. make start starts services without automatically starting migrations.

Initialize data #

make migrate
make fixtures

> Attention: fixtures purge and replace data from the current database. Never run this command in production.

For an empty base:

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

Make commands #

OrderUsageImpact
make installimages, dependencies, JWT keyskeeps the base
make start / stop / restartstack cyclepreserves volumes
make logsfollows last 200 linesnone
make migrateapplies Doctrine Migrationsmodify schema
make fixturesreload demopurges the base
make testbackend and frontend testingtest base
make lintPHPStan, CS Fixer check, ESLintnone
make shell-backend / shell-frontendshell containeraccording to the order
make resetdestroyed volumes, rebuiltdeletes local data

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

The compose remains HTTP on 8080. Terminate HTTPS in an external reverse proxy from nginx.conf.example. Set APP_ENV=prod, APP_DEBUG=0 and an exact HTTPS APP_URL. jwt-init manages persistent keys; worker consumes Messenger and scheduler processes timeouts and reminders.

Controls #

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