Install RiskPilot #
Official prerequisites #
- Docker 24 or higher with Docker Compose v2;
- GNU Make;
8080and8025ports 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 startApplication: 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 #
| Order | Usage | Impact |
|---|---|---|
make install | images, dependencies, JWT keys | keeps the base |
make start / stop / restart | stack cycle | preserves volumes |
make logs | follows last 200 lines | none |
make migrate | applies Doctrine Migrations | modify schema |
make fixtures | reload demo | purges the base |
make test | backend and frontend testing | test base |
make lint | PHPStan, CS Fixer check, ESLint | none |
make shell-backend / shell-frontend | shell container | according to the order |
make reset | destroyed volumes, rebuilt | deletes 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-interactionThe 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