Scanner server and curation frontend for open source license compliance.
Double Open Server (DOS) is a server application that scans the source code of open source components for license findings, stores the scan results for use in license compliance pipelines and provides a graphical interface for manually curating the license findings. DOS is currently in early development.
DOS utilizes ScanCode Toolkit for scanning the files and is designed to work with OSS Review Toolkit as a part of its pipeline.
To run this project you will need Node.js, npm and Docker installed.
-
Clone the repository
git clone https://github.com/doubleopen-project/dos.git
-
Go to project root
cd dos
and install dependencies withnpm i
-
Set needed environment variables.
Create a .env.local file in the project root, and set the following environment variables in the file:
DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres KEYCLOAK_URL= KEYCLOAK_REALM= KEYCLOAK_CLIENT_ID_API= KEYCLOAK_CLIENT_SECRET_API= KEYCLOAK_CLIENT_ID_UI= KEYCLOAK_CLIENT_SECRET_UI= KEYCLOAK_ADMIN_CLIENT_SECRET= KEYCLOAK_ADMIN_USERNAME= KEYCLOAK_ADMIN_PASSWORD= KEYCLOAK_ADMIN_USER_ID= E2E_USER_USERNAME= E2E_USER_PASSWORD=
See .env.example file for other non-compulsory configurable variables.
-
Start containers (in detached mode with -d):
docker compose up -d
This will setup PostgreSQL, Minio S3 storage and Redis work queue, and a Scanner Worker.
-
Run migrations to the database and seed it with test data (this command can also be used to reset the database):
npm run db:migrate:reset
-
Start apps:
npm run dev
This will start the Clearance UI and the API.
DOS is licensed under the MIT License. Copyright (C) Double Open Oy.