{"id":23394461,"url":"https://github.com/eclipse-thingweb/infrastructure","last_synced_at":"2026-04-08T19:32:05.801Z","repository":{"id":259005145,"uuid":"865985339","full_name":"eclipse-thingweb/infrastructure","owner":"eclipse-thingweb","description":"Main infrastructure configuration of the server to manage the deployment of vserver.","archived":false,"fork":false,"pushed_at":"2025-08-19T16:34:52.000Z","size":50,"stargazers_count":1,"open_issues_count":1,"forks_count":4,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-08-19T18:38:25.393Z","etag":null,"topics":["iot","organization","web","web-of-things","wot"],"latest_commit_sha":null,"homepage":"https://thingweb.io","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-thingweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2024-10-01T13:03:25.000Z","updated_at":"2025-08-19T16:34:57.000Z","dependencies_parsed_at":"2024-11-19T14:32:36.944Z","dependency_job_id":"8fcf12b7-f01b-43a7-97be-a294b03de2fb","html_url":"https://github.com/eclipse-thingweb/infrastructure","commit_stats":null,"previous_names":["eclipse-thingweb/infrastructure"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eclipse-thingweb/infrastructure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-thingweb%2Finfrastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-thingweb%2Finfrastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-thingweb%2Finfrastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-thingweb%2Finfrastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-thingweb","download_url":"https://codeload.github.com/eclipse-thingweb/infrastructure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-thingweb%2Finfrastructure/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31571600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["iot","organization","web","web-of-things","wot"],"created_at":"2024-12-22T06:15:29.164Z","updated_at":"2026-04-08T19:32:05.792Z","avatar_url":"https://github.com/eclipse-thingweb.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infrastructure\n\nMain infrastructure configuration of the server to manage the deployment of the Eclipse Server.\nThis repository consists of docker compose files to run Portainer and other infrastructural services such as Traefik proxy, cAdvisor, Prometheus, Grafana and Grafana Loki.\n\nFor the list of open ports, see [ports.md](./ports.md)\n\n## Portainer\n\nPortainer is used to manage running Docker containers.\n\n## Infrastructural Services\n\n[docker-compose-services.yml](./docker-compose-services.yml) contains the configuration for the deployment of the infrastructural services.\n\nSet the environment variable `CONFIG_FILEPATH` to the location of the `conf` folder on your computer. This folder is found in the root of this repository.\n\nTo be able to access the services, the user must login through GitHub. For GitHub authentication to work, environment variables `OAUTH_SECRET` (can be any string) and, `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` must be set with the configuration of GitHub OAuth application. Only whitelisted emails can access some of the services. Whitelisted emails can be set using the environment variable `WHITELISTED_EMAILS`. These services are accessible at:\n\n- Traefik dashboard -\u003e traefik.localhost\n- cAdvisor -\u003e cadvisor.localhost\n- Prometheus -\u003e prometheus.localhost\n\nGrafana and Portainer UIs are public access but they run their own authentication and authorization. These services are accessible at:\n\n- Grafana -\u003e grafana.localhost and \u003chttp://grafana.plugfest.thingweb.io\u003e\n- Portainer -\u003e portainer.localhost and \u003chttp://plugfest.thingweb.io:8089/\u003e\n\nHostname and ports can be changed from `.env` file in the root directory.\n\n## Saving Grafana Dashboards\n\nGrafana dashboard json files are stored in [./conf/grafana/dashboards](./conf/grafana/dashboards/).\nTo save your newly created dashboard locally and push it into the remote repository:\n\n- Export the dashboard as JSON file using Share \u003e Export.\n- Save the exported JSON file to [./conf/grafana/dashboards](./conf/grafana/dashboards/).\n\nIf your dashboard uses another datasource than our default `prometheus-datasource`, new datasource also must be provisioned in [./conf/grafana/datasources](./conf/grafana/provisioning/datasources/).\nFor more information check Grafana's provisioning [documentation](https://grafana.com/docs/grafana/latest/administration/provisioning/).\n\n## Instructions\n\n1. After deploying Grafana, configure GitHub OAuth2 through developer settings\n2. Add emails for admin rights via role attributes: `[email==\u003cUSER_EMAIL\u003e] \u0026\u0026 'Admin' || 'Viewer'`\n\n## Domus TDD\n\nThe [domus TD Directory](https://github.com/eclipse-thingweb/domus-tdd-api) is started via its own stack.\nThe port and domain are hard-coded and should be changed accordingly in the YAML file.\nThe API is available through `http://plugfest.thingweb.io:8081`, e.g. `http://plugfest.thingweb.io:8081/things` will return all the TDs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-thingweb%2Finfrastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-thingweb%2Finfrastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-thingweb%2Finfrastructure/lists"}