The DigitalHub Console is the front-end application of DigitalHub CORE and it is distributed as one of its modules. It is a web UI based on React-Admin and backed by the CORE API.
Explore the full documentation at the link.
The Console is meant to be deployed and used as part of CORE. In order to run them standalone instead of bootstrapping the whole DigitalHub platform, please refer to the instructions in CORE README.
When deployed as a module of CORE, CORE takes care of configuring the Console. When run independently for testing and developing purposes (see Development section below), the Console can be configured via environment variables.
The following environment variables are supported. Their default values, if any, are specified in ".env.production" and ".env.development" files.
| KEY | DESCRIPTION |
|---|---|
| PUBLIC_URL | |
| VITE_APP_NAME | App name |
| REACT_APP_VERSION | Current app version, used to provide docs link |
| REACT_APP_CONTEXT_PATH | Sub path for React-Admin router |
| REACT_APP_APPLICATION_URL | Console URL (without context path) |
| REACT_APP_API_URL | CORE API url |
| REACT_APP_AUTH_URL | Authentication server URL |
| REACT_APP_LOGIN_URL | Login endpoint on the authentication server |
| REACT_APP_ISSUER_URI | OIDC issuer URI |
| REACT_APP_CLIENT_ID | OIDC client ID |
| REACT_APP_SCOPE | OIDC space-separated scopes |
| REACT_APP_ENABLE_SOLR | Whether Solr search is enabled on CORE (true/false) |
| REACT_APP_WEBSOCKET_URL | Websocket URL for StompJS client |
The Console code is written in Typescript and located in src folder, which is structured as follows:
├── common
├── components (UI components)
│ ├── buttons
│ ├── charts
│ ├── lineage
│ ├── toolbars
│ ├── upload
│ ├── **/*.tsx (miscellaneous components)
├── contexts (React contexts)
├── controllers (logical controllers)
├── i18n (translations)
│ ├── en
│ │ ├── **/*.json
│ ├── it
│ │ ├── **/*.json
│ ├── english.ts
│ ├── italian.ts
├── jsonSchema
│ ├── **/*.tsx (react-jsonschema-form templates and widgets)
├── layout (everything layout-related)
├── pages
│ ├── account (account page with personal access token components)
│ ├── dashboard (everything dashboard-related)
│ ├── lineage (project lineage)
├── provider (data/language/authentication providers)
├── resources (React-Admin resource definitions)
├── search (everything related to Solr search)
├── App.tsx
├── index.tsx
└── vite-env.d.ts
See CONTRIBUTING for contribution instructions.
Running the Console requires:
- Node.js v18 or higher
- Yarn v1.22 or higher
In order to build and run the Console, you first need to clone this repository and install its dependencies:
git clone https://github.com/scc-digitalhub/digitalhub-console.git
cd digitalhub-console
yarn installYou can build the application and start Vite dev server using respectively yarn build and yarn start commands. Depending on your use case, you can specify a profile to read the configuration from ".env.development", ".env.production" or ".env.localhost" files (e.g., yarn start:localhost).
In production mode, the Console is expected to be embedded in CORE, therefore the configuration URLs in ".env.production" are relative, while in ".env.development" they are absolute.
No auth:
VITE_APP_NAME="DigitalHub"
REACT_APP_VERSION="0.11.0"
REACT_APP_API_URL=http://localhost:8080/api/v1
Basic auth:
VITE_APP_NAME="DigitalHub"
REACT_APP_VERSION="0.11.0"
REACT_APP_API_URL=http://localhost:8080/api/v1
REACT_APP_AUTH_URL=http://localhost:8080/api
REACT_APP_LOGIN_URL=/auth
OIDC auth:
VITE_APP_NAME="DigitalHub"
REACT_APP_VERSION="0.11.0"
REACT_APP_API_URL=http://localhost:8080/api/v1
REACT_APP_AUTH_URL=http://localhost:8080/api
REACT_APP_ISSUER_URI=<your_oidc_issuer_uri>
REACT_APP_CLIENT_ID=<your_oidc_client_id>
REACT_APP_SCOPE="openid profile email user.roles.me"
REACT_APP_LOGIN_URL=/auth
REACT_APP_APPLICATION_URL=http://localhost:5173
The current release is the supported version. Security fixes are released together with all other fixes in each new release.
If you discover a security vulnerability in this project, please do not open a public issue.
Instead, report it privately by emailing us at digitalhub@fbk.eu. Include as much detail as possible to help us understand and address the issue quickly and responsibly.
To report a bug or request a feature, please first check the existing issues to avoid duplicates. If none exist, open a new issue with a clear title and a detailed description, including any steps to reproduce if it's a bug.
To contribute code, start by forking the repository. Clone your fork locally and create a new branch for your changes. Make sure your commits follow the Conventional Commits v1.0 specification to keep history readable and consistent.
Once your changes are ready, push your branch to your fork and open a pull request against the main branch. Be sure to include a summary of what you changed and why. If your pull request addresses an issue, mention it in the description (e.g., “Closes #123”).
Please note that new contributors may be asked to sign a Contributor License Agreement (CLA) before their pull requests can be merged. This helps us ensure compliance with open source licensing standards.
We appreciate contributions and help in improving the project!
This project is developed and maintained by DSLab – Fondazione Bruno Kessler, with contributions from the open source community. A complete list of contributors is available in the project’s commit history and pull requests.
For questions or inquiries, please contact: digitalhub@fbk.eu
Copyright © 2025 DSLab – Fondazione Bruno Kessler and individual contributors.
This project is licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License. Ownership of contributions remains with the original authors and is governed by the terms of the Apache 2.0 License, including the requirement to grant a license to the project.