https://github.com/engineering-research-and-development/open-innovation-platform
Open Innovation Platform created within the PIONEER HORIZON-CL4-2022-RESILIENCE-01 project funded by the European Commission (Grant 101091449 )
https://github.com/engineering-research-and-development/open-innovation-platform
Last synced: 3 months ago
JSON representation
Open Innovation Platform created within the PIONEER HORIZON-CL4-2022-RESILIENCE-01 project funded by the European Commission (Grant 101091449 )
- Host: GitHub
- URL: https://github.com/engineering-research-and-development/open-innovation-platform
- Owner: Engineering-Research-and-Development
- License: gpl-3.0
- Created: 2024-04-09T13:36:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-17T14:16:58.000Z (5 months ago)
- Last Synced: 2025-02-19T12:56:02.888Z (4 months ago)
- Language: FreeMarker
- Homepage: https://www.pioneer-project.eu
- Size: 912 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Open Innovation Platform
https://www.pioneer-project.eu/
Open Innovation Platform for optimising production systems by combining product development, virtual engineering workflows and production data.

Requirements
- Docker Engine
- Minimum 8GB RAM
- Docker Compose >= 2.27.1
- OpenSSL >=3.4.0
How to run
Preliminary information
The repository comes with different services available depending on the use-case needs. The first option is to run the overall platform by running
docker compose up --build -d
.
As alternative, services in the OIP are grouped in profiles as showed below. Just run the profiles needed for the use-case.
Profile
Services
Mandatory
oip-core
Orion, Draco, MinIO, MongoDB, PostgreSQL, Mosquitto
YES
oip-sec
Keycloak, API Gateway (Traefik), OAuth2-Proxy
NO
oip-connector-json
IoT Agent JSON, IoT Agent UI
NO
oip-connector-opcua
IoT Agent OPC UA, IoT Agent UI
NO
oip-connector-aas
IoT Agent AAS, IoT Agent UI
NO
oip-connector-aas-proxy
IoT Agent AAS Proxy
NO
oip-visualization
Grafana
NO
First of all you need to configure you first level domain in all config files (search for "pioneer-project.eu" and replace with your own).
In order to use HTTPS, you need to generate SSL certificates using the provided script `generate_ssl_certificates.sh` or use your own certificates. Certificates must be copied into `config/traefik/certs` folder named `fullchain.pem` and `privkey.pem`. To use HTTPS, the profile `oip-sec` is mandatory.
For a local deployment you need to map subdomains into the `hosts` file of your machine, like this:
```
127.0.0.1 oauth2-proxy.pioneer-project.eu
127.0.0.1 keycloak.pioneer-project.eu
127.0.0.1 draco.pioneer-project.eu
127.0.0.1 orion.pioneer-project.eu
127.0.0.1 minio.pioneer-project.eu
127.0.0.1 grafana.pioneer-project.eu
127.0.0.1 iotagent-ui.pioneer-project.eu
```
Using the `oip-sec` all the user interfaces and APIs are protected using oauth2-proxy and keycloak; configure keycloak as you prefer to manage the users.
How to build & run
1. Replace `pioneer-project.eu` in the whole project with your own domain.
2. Generate certificates by running `./generate_ssl_certificates.sh yourdomain.com` (Linux) or `.\generate_ssl_certificates.ps1 yourdomain.com` (Windows) or provide yours as explained in the previous paragraph.
3. Run you preferred profiles by the provided script: `./start.sh `. For example `./start.sh oip-core oip-sec oip-visualization`
Access the UIs
1. Draco at https://draco.pioneer-project.eu
2. IotAgent UI at https://iotagent-ui.pioneer-project.eu
3. Keycloak at https://keycloak.pioneer-project.eu
4. Grafana at https://grafana.pioneer-project.eu
5. MinIO Console at https://minio.pioneer-project.eu
Default credentials for each UI are listed below:
Application
User
Password
Draco
admin
ctsBtRBKHRAx69EqUghvvgEvjnaLjFEB
IotAgent UI
admin
admin
Keycloak
admin
admin
Grafana
admin
admin
MinIO Console
minioadmin
minioadmin
Configuration
All the services into the OIP can be configured by editing files into the "conf" folder from the root of the project.
Draco
The component provides data flows based on Rest HTTP or MQTT.
In Draco you can configure your own data flow (see NiFi doc here), by accessing the UI.
Inside the template pre-loaded on Draco you can activate the flows you prefer to use and can configure each Draco processor following the notes on the UI.
Draco will start with pre-uploaded [OpenInnovationPlatform](conf/draco/templates/OpenInnovationPlatform.xml) template.
IotAgent UI
The component provide user-friendly interface to configure and handle IoT Agents.
Keycloak
The component provides Identity & Access Management functionalities.
Every role, user, client, etc. can be configured by the dedicated user interface.
The repository provides some pre-configured [realms](conf/keycloak/realms) and [clients](conf/keycloak/clients) that are imported in Keycloak at the first startup.
Grafana
The component provides visualization functionalities and allows to build dashboards. It can be configured directly within the provided user interface.
MinIO Console
The component provides obejct storage functionalities.
It comes up with a pre-configured environment [file](conf/minio/minio.env).