Spaces:
Runtime error
Runtime error
# Installation | |
> AuditForge uses 4 containers: the backend, the frontend, the database and the AI model. | |
## Production | |
All 4 containers can be run at once using the docker-compose file in the root directory. | |
!> For production usage make sure to change the certificates in `backend/ssl` and `cwe_api/ssl` folders and optionally to set the JWT secret in `backend/src/lib/auth.js` (`jwtSecret` and `jwtRefreshSecret` in `backend/src/config/config.json`) if you don't want to use random ones. | |
Build and run Docker containers | |
``` | |
docker-compose up -d --build | |
``` | |
Display backend container logs | |
``` | |
docker-compose logs -f auditforge-backend | |
``` | |
Stop/Start containers | |
``` | |
docker-compose stop | |
docker-compose start | |
``` | |
Remove containers | |
``` | |
docker-compose down | |
``` | |
Update | |
``` | |
docker-compose down | |
git pull | |
docker-compose up -d --build | |
``` | |
Application is accessible through https://localhost:8443 | |
API is accessible through https://localhost:8443/api | |
## Development | |
For development purposes, specific docker-compose file can be used in each folder (backend/frontend). | |
> _Source code can be modified live and application will automatically reload on changes._ | |
Build and run backend and database containers | |
``` | |
docker-compose -f backend/docker-compose.dev.yml up -d --build | |
``` | |
Display backend container logs | |
``` | |
docker-compose -f backend/docker-compose.dev.yml logs -f auditforge-backend | |
``` | |
Stop/Start container | |
``` | |
docker-compose -f backend/docker-compose.dev.yml stop | |
docker-compose -f backend/docker-compose.dev.yml start | |
``` | |
Remove containers | |
``` | |
docker-compose -f backend/docker-compose.dev.yml down | |
``` | |
Application is accessible through https://localhost:8081 | |
API is accessible through https://localhost:8081/api | |
## Tests | |
> For now only backend tests have been written (it's a continuous work in progress) | |
Test files are located in `backend/tests` using Jest testing framework | |
Script `run_tests.sh` at the root folder can be used to launch tests : | |
``` | |
Usage: ./run_tests.sh -q|-f [-h, --help] | |
Options: | |
-h, --help Display help | |
-q Run quick tests (No build) | |
-f Run full tests (Build with no cache) | |
``` | |
!> **Don't use it in production as it will delete the production Database** | |
## Backup | |
It's possible, even recommended, to regularly backup the `backend/mongo-data` folder. It contains all the database. | |
To restore : | |
- Stop containers | |
- Replace the current `backend/mongo-data` folder with the backed up one | |
- Start containers | |