TODO merge with devicehub | devicehub adapted to trustchain oc1 orchestral (dpp branch)
This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Cayo Puigdefabregas 594fe1483f changes readme 2023-09-28 18:31:18 +02:00
.github Run selenium only on reviews 2022-09-29 12:11:10 +02:00
docker bugfix oidc client not working 2023-09-21 21:33:11 +02:00
docs clean 2022-11-24 12:21:42 +01:00
ereuse_devicehub fix env example 2023-09-28 08:37:41 +02:00
examples change the examples files 2023-09-28 16:40:36 +02:00
scripts drop pdb 2023-04-28 12:11:09 +02:00
tests fix test 2023-06-16 13:04:37 +02:00
.babelrc.json use babel to support old browsers 2022-05-09 11:07:57 +02:00
.eslintignore ESLint ignore builded JS files 2022-05-11 19:07:52 +02:00
.eslintrc.json eslint avoid class limit 2022-05-13 21:29:29 +02:00
.gitignore add basic dockerization to devicehub dpp 2023-09-21 18:44:43 +02:00
.pre-commit-config.yaml Add pip-compile pre-commit hook 2022-09-29 12:22:22 +02:00
.prettierrc.json add prettier rule 2022-04-20 11:55:15 +02:00
CHANGELOG.md update changelog 2023-06-14 10:43:52 +02:00
CONTRIBUTING.md Manage dependencies using pip-tools 2022-09-29 12:11:10 +02:00
Definition-dpp.md Update Definition-dpp.md 2023-07-19 11:34:58 +02:00
LICENSE.txt Add GPLV3 License 2019-06-09 08:48:09 +02:00
MANIFEST.in Better installation; add example_app 2018-07-07 18:51:15 +02:00
Makefile refactor Makefile 2023-09-21 21:37:37 +02:00
README.md changes readme 2023-09-28 18:31:18 +02:00
README_MANUAL_INSTALLATION.md fix strip slash in domain 2023-09-28 08:17:47 +02:00
alembic.ini Update README 2020-05-15 20:14:00 +02:00
development-setup.md Remove duplicated setup steps 2022-04-12 12:32:20 +02:00
docker-compose.yml docker-compose: update images 2023-09-21 21:40:29 +02:00
licences.txt fixing bug of 2 users with the same device and launch one live 2021-01-08 10:46:34 +01:00
package.json Fix build-js pre-commit hook 2022-09-29 12:04:05 +02:00
pyproject.toml up target-version 2023-06-02 09:54:43 +02:00
requirements-dev.txt Move selenium to requirements-dev.txt 2022-07-15 12:03:06 +02:00
requirements-prod.txt Move sentry & blinker to requirements-prod.txt 2022-07-15 11:59:06 +02:00
requirements.in fix teal import inm did resource 2023-05-24 10:25:04 +02:00
requirements.txt fix teal import inm did resource 2023-05-24 10:25:04 +02:00
setup.cfg Enhance testing config 2018-09-16 15:56:20 +02:00
setup.py correct versions of dependencies 2023-03-27 10:22:08 +02:00
tox.ini Add pre-commit hook to run black, flake8 & isort 2022-02-10 14:05:26 +01:00

README.md

Devicehub

Devicehub is a distributed IT Asset Management System focused on reusing digital devices, created under the project eReuse.org

This README explains how to install and use Devicehub. The documentation explains the concepts and the API.

Devicehub is built with Teal and Flask.

Installing

Please visit the Manual Installation to understand the detailed steps to install it locally or deploy it on a server.

Docker

There is a Docker compose file for an automated deployment. In the next steps, we can see how to run and use it.

  1. Download the sources:
  git clone https://github.com/eReuse/devicehub-teal.git
  cd devicehub-teal
  1. You need to decide on one directory in your system for sharing documents between your system and the dockers. As an example we use "/tmp/dhub/" and need to create it:
  mkdir /tmp/dhub
  1. If you want to initialize your DeviceHub instance with sample device snapshop you can copy your snapshots, copy your snapshots in this directory. If you don't have any snapshots copy one of the example directory. Otherwise, the device inventory of your DeviceHub instance will be empty and ready to add new devices. To register new devices, the workbench software can be run on a device to generate a hardware snapshot that can be uploaded to your DeviceHub instance.

  2. Copy your snapshots in this directory. If you don't have any snapshots copy one of the example directory.

  cp examples/snapshot01.json /tmp/dhub
  1. Modify the file with environment variables in the file .env You can see one example in examples/env If you don't have one, please copy the examples/env file and modify the basic vars
  cp examples/env.example .env

You can use these parameters for default as a test, but you need to add values in these three variables:

  API_DLT
  API_DLT_TOKEN
  API_RESOLVER

You can use that .env as a default for a test deployment, but these variables need to be initialized. These values should come from a deployed API_DLT connector service instance.

  1. run the dockers:
  docker compose up

To stop the dockers you can use Ctl+C, and if you run again "compose up" you'll maintain the data and infrastructure.

In the screen you can see all the process of install. If there are any problem you can see this errors in the screen.

If the last line you see one text like this, exited whit code:

  devicehub-teal-devicehub-id-client-1 exited with code 1

Then the install went wrong.

If the deployment was end-to-end successful (two running Devicehub instances successfully connected to the DLT backend selected in the .env file), you can see this text in the last lines:

  devicehub-teal-devicehub-id-client-1  |  * Running on http://172.28.0.2:5000/ (Press CTRL+C to quit)
  devicehub-teal-devicehub-id-server-1  |  * Running on all addresses.
  devicehub-teal-devicehub-id-server-1  |    WARNING: This is a development server. Do not use it in a production deployment.
  devicehub-teal-devicehub-id-server-1  |  * Running on http://172.28.0.5:5000/ (Press CTRL+C to quit)
  1. If you want to down the volumes and remove the data, you can use:
  docker compose down -v
  1. If you want to enter a shell inside a new container:
  docker run -it --entrypoint= ${target_docker_image} bash

If you want to enter a shell on an already running container:

  docker exec -it ${target_docker_image} bash

To know the valid value for ${target_docker_image} you can use:

  docker ps
  1. These are the details for use in this implementation:

devicehub with port 5000 (http://localhost:5000) is the identity provider of OIDC and have user user5000@example.com

devicehub with port 5001 (http://localhost:5001) is the client identity of OIDC and have user user5001@example.com

You can change these values in the .env file

  1. If you want use Workbench for this instances you need go to
  http://localhost:5001/workbench/

with the user demo and next download the settings and ISO files. Follow the instructions that appear on the help page.