{"id":29734619,"url":"https://github.com/amine-amaach/libreonubuntu","last_synced_at":"2026-04-13T12:02:02.191Z","repository":{"id":53863876,"uuid":"521645468","full_name":"amine-amaach/LibreOnUbuntu","owner":"amine-amaach","description":"This repository will allow you to spin up the Libre Technologies Platform on Ubuntu 20.04.","archived":false,"fork":false,"pushed_at":"2022-08-11T12:57:00.000Z","size":2066,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T16:18:18.606Z","etag":null,"topics":["dgraph","docker","grafana","influxdb","mqtt","opcua"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/amine-amaach.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}},"created_at":"2022-08-05T13:18:54.000Z","updated_at":"2022-08-11T12:57:19.000Z","dependencies_parsed_at":"2022-08-28T03:13:47.198Z","dependency_job_id":null,"html_url":"https://github.com/amine-amaach/LibreOnUbuntu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amine-amaach/LibreOnUbuntu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine-amaach%2FLibreOnUbuntu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine-amaach%2FLibreOnUbuntu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine-amaach%2FLibreOnUbuntu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine-amaach%2FLibreOnUbuntu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amine-amaach","download_url":"https://codeload.github.com/amine-amaach/LibreOnUbuntu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine-amaach%2FLibreOnUbuntu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31751705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["dgraph","docker","grafana","influxdb","mqtt","opcua"],"created_at":"2025-07-25T11:39:57.973Z","updated_at":"2026-04-13T12:02:02.156Z","avatar_url":"https://github.com/amine-amaach.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚙️ Setting up the Libre Technologies Platform on Ubuntu 22.04\n\nThis repository will allow you to spin up the Libre Technologies Platform on Ubuntu 22.04 local machine or development server.\n\n\u003eTo successfully install the platform, please follow the steps below.\n## 📒 Table of Contents\n- [Step 1 - Installing Docker](#Step1)\n- [Step 2 - Installing Docker Compose](#Step2)\n- [Step 3 - Installing the Libre Technologies Platform](#Step3)\n- [Demo](#demo)\n\n\u003cspan id=\"Step1\"\u003e\u003c/span\u003e\n## 🪜 Step 1 - Installing Docker\nThe Docker installation package available in the official Ubuntu repository may not be the latest version. To ensure we get the latest version, we’ll install Docker from the official Docker repository. To do that, we’ll add a new package source, add the GPG key from Docker to ensure the downloads are valid, and then install the package.\n\nFirst, update your existing list of packages:\n```sh\nsudo apt update\n```\nNext, install a few prerequisite packages which let apt use packages over HTTPS:\n```sh\nsudo apt install apt-transport-https ca-certificates curl software-properties-common\n```\nThen add the GPG key for the official Docker repository to your system:\n```sh\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n```\nAdd the Docker repository to APT sources:\n```sh\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n```\nThis will also update our package database with the Docker packages from the newly added repo.\nMake sure you are about to install from the Docker repo instead of the default Ubuntu repo:\n```sh\napt-cache policy docker-ce\n```\nYou’ll see output like this, although the version number for Docker may be different:\n```\ndocker-ce:\n  Installed: (none)\n  Candidate: 5:20.10.17~3-0~ubuntu-jammy\n  Version table:\n     5:20.10.17~3-0~ubuntu-jammy 500\n        500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages\n```\nNotice that `docker-ce` is not installed, but the candidate for installation is from the Docker repository for Ubuntu 22.04 (`jammy`).\nFinally, install Docker:\n```sh\nsudo apt install docker-ce\n```\nDocker should now be installed, the daemon started, and the process enabled to start on boot. Check that it’s running:\n```sh\nsudo systemctl status docker\n```\nThe output should be similar to the following, showing that the service is active and running:\n```\n● docker.service - Docker Application Container Engine\n     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)\n     Active: active (running) since Thu 2022-08-04 16:20:02 +01; 23h ago\nTriggeredBy: ● docker.socket\n       Docs: https://docs.docker.com\n   Main PID: 1448 (dockerd)\n      Tasks: 31\n     Memory: 121.8M\n        CPU: 5min 19.842s\n     CGroup: /system.slice/docker.service\n             └─1448 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock\n```\nBy default, the `docker` command can only be run by the root user or by a user in the docker group, which is automatically created during Docker’s installation process.\nIf you want to avoid typing `sudo` whenever you run the docker command, add your username to the docker group:\n```sh\nsudo usermod -aG docker ${USER}\n```\nTo apply the new group membership, log out of the server and back in, or type the following:\n```sh\nsu - ${USER}\n```\n\u003cspan id=\"Step2\"\u003e\u003c/span\u003e\n## 🪜 Step 2 - Installing Docker Compose\nAs mentioned in the [official docker docs](https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command), we'll use `docker compose` instead of `docker-compose` which is _already installed_ with `docker-ce`:\n```\n● Important\nThe new Compose V2, which supports the compose command as part of the Docker CLI, is now available.\nCompose V2 integrates compose functions into the Docker platform, continuing to support most of the previous docker-compose features and flags. You can run Compose V2 by replacing the hyphen (-) with a space, using docker compose, instead of docker-compose.\n```\n\u003cspan id=\"Step3\"\u003e\u003c/span\u003e\n## 🪜 Step 3 - Installing the Libre Technologies Platform\n- **First, clone this repository to your preferred location:** :\n```sh\ngit clone https://github.com/amine-amaach/LibreOnUbuntu.git \u0026\u0026 cd LibreOnUbuntu\n```\n- **Give the Grafana container access to the configs** :\n```sh\nsudo chmod 777 -R ./grafana\n```\n- **Run the following command to start the platform** :  \n```sh\ndocker compose up -d\n```\n\u003e For the first time, this command will take some time to run because it first needs to pull the images.\n\n- **_The way I recommand to run the Platform is the following :_**\n    * Run these services first : `docker compose up -d mqtt influxdb alpha zero`\n    * Then : `docker compose up -d`\n\nCheck if the containers are running :\n```sh\ndocker compose ps\n```\n\u003e You should see that all services are running, except the `dgraph-init` service which is only used to load data into dgraph and then exists.\n\nTo check the logs, run the following command :\n```sh\ndocker compose logs -f --tail 50 #50 lines from the end of the logs for each service.\n```\nTo get the logs of a specific service, add the service name as follows :\n```sh\ndocker compose logs -f --tail 50 mqtt #You can add multiple services seperated by space.\n```\nTo stop the services, run the following command :\n```sh\ndocker compose stop #To remove the services, replace `stop` by `down`.\n```\n 🔗 **Connecting to a server on the host machine :** : \n  - By default, the service `libre-edge-agent` is connecting to a local OPCUA server `ioTSensorsOPCUA` in the same network as `libre-edge-agent`.\n  \n  - To connect to a local opcua server on the host machine, change the hostname of `ENDPOINT` and `OVERRIDE_ENDPOINTURL` in the config file with `host.docker.internal` to resolve the host machine's IP address.\n\n Config file : `LibreOnUbuntu/libre-edge-agent/config/config.json`\n\n\u003e Server exists in the same docker network :\n\n ```json\n   \"PlcConnectorOPCUA\" : {\n    \"ENDPOINT\": \"opc.tcp://ioTSensorsOPCUA:46010\",\n    \"aliasSystem\": \"OPCUA\",\n    \"OVERRIDE_ENDPOINTURL\": \"opc.tcp://ioTSensorsOPCUA:46010\"\n  }\n ``` \n \n\u003e Server hosted on the host machine :\n\n```json\n\"PlcConnectorOPCUA\" : {\n    \"ENDPOINT\": \"opc.tcp://host.docker.internal:49320\",\n    \"aliasSystem\": \"OPCUA\",\n    \"OVERRIDE_ENDPOINTURL\": \"opc.tcp://host.docker.internal:49320\"\n  }\n```\n\n\u003e Server exists externally (Public OPCUA server by PROSYS On the Cloud)\n\n```json\n  \"PlcConnectorOPCUA\" : {\n   \"ENDPOINT\": \"opc.tcp://UADEMO.prosysopc.com:53530\",\n   \"aliasSystem\": \"OPCUA\",\n   \"OVERRIDE_ENDPOINTURL\": \"opc.tcp://UADEMO.prosysopc.com:53530/OPCUA/SimulationServer\"\n }\n```\n\n\n\u003cspan id=\"demo\"\u003e\u003c/span\u003e\n## 👀 Demo\nTo see how to access these services, check out this demo on [YouTube](https://youtu.be/lmzXMiQELoo?t=275).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famine-amaach%2Flibreonubuntu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famine-amaach%2Flibreonubuntu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famine-amaach%2Flibreonubuntu/lists"}