{"id":24736337,"url":"https://github.com/engineering-research-and-development/open-innovation-platform","last_synced_at":"2026-02-22T08:34:01.162Z","repository":{"id":235661590,"uuid":"784250386","full_name":"Engineering-Research-and-Development/open-innovation-platform","owner":"Engineering-Research-and-Development","description":"Open Innovation Platform created within the PIONEER HORIZON-CL4-2022-RESILIENCE-01 project funded by the European Commission (Grant 101091449 )","archived":false,"fork":false,"pushed_at":"2025-01-17T14:16:58.000Z","size":934,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T12:56:02.888Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.pioneer-project.eu","language":"FreeMarker","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Engineering-Research-and-Development.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-09T13:36:54.000Z","updated_at":"2025-01-17T14:17:00.000Z","dependencies_parsed_at":"2024-04-24T06:42:39.723Z","dependency_job_id":"0170c025-a8dc-43c1-862c-694cb9e5ba3b","html_url":"https://github.com/Engineering-Research-and-Development/open-innovation-platform","commit_stats":null,"previous_names":["engineering-research-and-development/open-innovation-platform"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Engineering-Research-and-Development%2Fopen-innovation-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Engineering-Research-and-Development%2Fopen-innovation-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Engineering-Research-and-Development%2Fopen-innovation-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Engineering-Research-and-Development%2Fopen-innovation-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Engineering-Research-and-Development","download_url":"https://codeload.github.com/Engineering-Research-and-Development/open-innovation-platform/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244992507,"owners_count":20543827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-27T21:24:45.120Z","updated_at":"2026-02-22T08:33:56.128Z","avatar_url":"https://github.com/Engineering-Research-and-Development.png","language":"FreeMarker","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003eOpen Innovation Platform\u003c/h1\u003e\n\n\u003cimg src=\"./docs/images/Pioneer-Logo_Regular.png\" alt=\"Pioneer Project logo\" width=\"200px\"\u003e\n\nhttps://www.pioneer-project.eu/\n\n\u003cbr\u003e\n\nOpen Innovation Platform for optimising production systems by combining product development, virtual engineering workflows and production data.\n\n\n![Open Innovation Platform Schema](./docs/images/OIP-Schema.png \"Open Innovation Platform Schema\")\n\n\u003ch2\u003eRequirements\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003eDocker Engine\u003c/li\u003e\n    \u003cli\u003eMinimum 8GB RAM\u003c/li\u003e\n    \u003cli\u003eDocker Compose \u003e= 2.27.1\u003c/li\u003e\n    \u003cli\u003eOpenSSL \u003e=3.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003eHow to run\u003c/h2\u003e\n\u003ch3\u003ePreliminary information\u003c/h3\u003e\nThe repository comes with different services available depending on the use-case needs. The first option is to run the overall platform by running\n\u003ccode\u003edocker compose up --build -d\u003c/code\u003e.\n\nAs alternative, services in the OIP are grouped in profiles as showed below. Just run the profiles needed for the use-case.\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eProfile\u003c/th\u003e\n        \u003cth\u003eServices\u003c/th\u003e\n        \u003cth\u003eMandatory\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eoip-core\u003c/td\u003e\n        \u003ctd\u003eOrion, Draco, MinIO, MongoDB, PostgreSQL, Mosquitto\u003c/td\u003e\n        \u003ctd\u003eYES\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eoip-sec\u003c/td\u003e\n        \u003ctd\u003eKeycloak, API Gateway (Traefik), OAuth2-Proxy\u003c/td\u003e\n        \u003ctd\u003eNO\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eoip-connector-json\u003c/td\u003e\n        \u003ctd\u003eIoT Agent JSON, IoT Agent UI\u003c/td\u003e\n        \u003ctd\u003eNO\u003c/td\u003e\n    \u003c/tr\u003e\n   \u003ctr\u003e\n        \u003ctd\u003eoip-connector-opcua\u003c/td\u003e\n        \u003ctd\u003eIoT Agent OPC UA, IoT Agent UI\u003c/td\u003e\n        \u003ctd\u003eNO\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eoip-connector-aas\u003c/td\u003e\n        \u003ctd\u003eIoT Agent AAS, IoT Agent UI\u003c/td\u003e\n        \u003ctd\u003eNO\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eoip-connector-aas-proxy\u003c/td\u003e\n        \u003ctd\u003eIoT Agent AAS Proxy\u003c/td\u003e\n        \u003ctd\u003eNO\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eoip-visualization\u003c/td\u003e\n        \u003ctd\u003eGrafana\u003c/td\u003e\n        \u003ctd\u003eNO\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\nFirst of all you need to configure you first level domain in all config files (search for \"pioneer-project.eu\" and replace with your own).\n\nIn 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.\n\nFor a local deployment you need to map subdomains into the `hosts` file of your machine, like this:\n\n```\n127.0.0.1 oauth2-proxy.pioneer-project.eu\n127.0.0.1 keycloak.pioneer-project.eu\n127.0.0.1 draco.pioneer-project.eu\n127.0.0.1 orion.pioneer-project.eu\n127.0.0.1 minio.pioneer-project.eu\n127.0.0.1 grafana.pioneer-project.eu\n127.0.0.1 iotagent-ui.pioneer-project.eu\n```\n\nUsing 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.\n\n\u003ch3\u003eHow to build \u0026 run\u003c/h3\u003e\n\n1. Replace `pioneer-project.eu` in the whole project with your own domain.\n2. 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.\n3. Run you preferred profiles by the provided script: `./start.sh \u003clist of profiles\u003e`. For example `./start.sh oip-core oip-sec  oip-visualization`\n\n\n\u003ch3\u003eAccess the UIs\u003c/h3\u003e\n\n1. Draco at https://draco.pioneer-project.eu\n2. IotAgent UI at https://iotagent-ui.pioneer-project.eu\n3. Keycloak at https://keycloak.pioneer-project.eu\n4. Grafana at https://grafana.pioneer-project.eu\n5. MinIO Console at https://minio.pioneer-project.eu\n\nDefault credentials for each UI are listed below:\n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003cth\u003eApplication\u003c/th\u003e\n    \u003cth\u003eUser\u003c/th\u003e\n    \u003cth\u003ePassword\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eDraco\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n    \u003ctd\u003ectsBtRBKHRAx69EqUghvvgEvjnaLjFEB\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eIotAgent UI\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eKeycloak\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eGrafana\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n    \u003ctd\u003eadmin\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd\u003eMinIO Console\u003c/td\u003e\n    \u003ctd\u003eminioadmin\u003c/td\u003e\n    \u003ctd\u003eminioadmin\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ch2\u003eConfiguration\u003c/h2\u003e\nAll the services into the OIP can be configured by editing files into the \"conf\" folder from the root of the project.\n\n\u003ch4\u003eDraco\u003c/h4\u003e\nThe component provides data flows based on Rest HTTP or MQTT.\n\nIn Draco you can configure your own data flow (see NiFi doc \u003ca  href=\"https://nifi.apache.org/docs/nifi-docs/html/getting-started.html\"\u003ehere\u003c/a\u003e), by accessing the UI.\nInside 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.\nDraco will start with pre-uploaded [OpenInnovationPlatform](conf/draco/templates/OpenInnovationPlatform.xml) template.\n\n\u003ch4\u003eIotAgent UI\u003c/h4\u003e\nThe component provide user-friendly interface to configure and handle IoT Agents.\n\n\u003ch4\u003eKeycloak\u003c/h4\u003e\nThe component provides Identity \u0026 Access Management functionalities.\nEvery role, user, client, etc. can be configured by the dedicated user interface.\n\nThe repository provides some pre-configured [realms](conf/keycloak/realms) and [clients](conf/keycloak/clients) that are imported in Keycloak at the first startup.\n\n\u003ch4\u003eGrafana\u003c/h4\u003e\nThe component provides visualization functionalities and allows to build dashboards. It can be configured directly within the provided user interface.\n\n\u003ch4\u003eMinIO Console\u003c/h4\u003e\nThe component provides obejct storage functionalities.\nIt comes up with a pre-configured environment [file](conf/minio/minio.env).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineering-research-and-development%2Fopen-innovation-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fengineering-research-and-development%2Fopen-innovation-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fengineering-research-and-development%2Fopen-innovation-platform/lists"}