/dos

The Double Open Server (DOS) companion for ORT.

Primary LanguageTypeScriptMIT LicenseMIT

Logo for Double Open

Double Open Server

Scanner server and curation frontend for open source license compliance.

About the Project

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.

Setting up the development environment

To run this project you will need Node.js, npm and Docker installed.

  1. Clone the repository

    git clone https://github.com/doubleopen-project/dos.git
  2. Go to project root cd dos and install dependencies with npm i

  3. 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.

  4. 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.

  5. 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
    
  6. Start apps:

    npm run dev

    This will start the Clearance UI and the API.

License

DOS is licensed under the MIT License. Copyright (C) Double Open Oy.