{"id":29978875,"url":"https://github.com/thingsboard/thingsboard-edge-pe-docker-compose","last_synced_at":"2025-08-04T12:13:32.751Z","repository":{"id":291113302,"uuid":"974941835","full_name":"thingsboard/thingsboard-edge-pe-docker-compose","owner":"thingsboard","description":"Docker configuration example for ThingsBoard EDGE PE Microservices","archived":false,"fork":false,"pushed_at":"2025-05-22T12:23:28.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-22T14:07:12.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/thingsboard.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":"2025-04-29T14:35:30.000Z","updated_at":"2025-05-22T12:23:31.000Z","dependencies_parsed_at":"2025-05-02T14:24:08.243Z","dependency_job_id":"f44863fe-eb31-4ac5-b6e8-3efab626d650","html_url":"https://github.com/thingsboard/thingsboard-edge-pe-docker-compose","commit_stats":null,"previous_names":["jekka001/thingsboard-edge-pe-docker-compose","thingsboard/thingsboard-edge-pe-docker-compose"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thingsboard/thingsboard-edge-pe-docker-compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thingsboard%2Fthingsboard-edge-pe-docker-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thingsboard%2Fthingsboard-edge-pe-docker-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thingsboard%2Fthingsboard-edge-pe-docker-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thingsboard%2Fthingsboard-edge-pe-docker-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thingsboard","download_url":"https://codeload.github.com/thingsboard/thingsboard-edge-pe-docker-compose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thingsboard%2Fthingsboard-edge-pe-docker-compose/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268695701,"owners_count":24292102,"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","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-08-04T12:13:31.561Z","updated_at":"2025-08-04T12:13:32.739Z","avatar_url":"https://github.com/thingsboard.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker configuration for ThingsBoard Edge Microservices\n\nThis folder containing scripts and Docker Compose configurations to run ThingsBoard Edge in Microservices mode.\n\n## Prerequisites\n\nThingsBoard Edge Microservices are running in dockerized environment.\nBefore starting please make sure [Docker CE](https://docs.docker.com/install/) and [Docker Compose](https://docs.docker.com/compose/install/) are installed in your system.\n\n## Installation\n\nBefore performing initial installation you can configure the type of database to be used with ThingsBoard Edge.\nIn order to set database type change the value of `DATABASE` variable in `.env` file to one of the following:\n\n- `postgres` - use PostgreSQL database;\n- `hybrid` - use PostgreSQL for entities database and Cassandra for timeseries database;\n\n**NOTE**: According to the database type corresponding docker service will be deployed (see `docker-compose.postgres.yml`, `docker-compose.hybrid.yml` for details).\n\nIn order to set cache type change the value of `CACHE` variable in `.env` file to one of the following:\n\n- `redis` - use Redis standalone cache (1 node - 1 master);\n- `redis-cluster` - use Redis cluster cache (6 nodes - 3 masters, 3 slaves);\n- `redis-sentinel` - use Redis sentinel cache (3 nodes - 1 master, 1 slave, 1 sentinel)\n\n**NOTE**: According to the cache type corresponding docker service will be deployed (see `docker-compose.redis.yml`, `docker-compose.redis-cluster.yml`, `docker-compose.redis-sentinel.yml` for details).\n\nExecute the following command to create log folders for the services and chown of these folders to the docker container users. \nTo be able to change user, **chown** command is used, which requires sudo permissions (script will request password for a sudo access): \n\n`\n$ ./docker-create-log-folders.sh\n`\n\nExecute the following command to run installation:\n\n`\n$ ./docker-install-tb.sh\n`\n\n## Running\n\nExecute the following command to start services:\n\n`\n$ ./docker-start-services.sh\n`\n\nAfter a while when all services will be successfully started you can open `http://{your-host-ip}` in you browser (for ex. `http://localhost`).\nYou should see ThingsBoard Edge login page.\n\nUse the credentials from the ThingsBoard account.\n\nIn case of any issues you can examine edge service logs for errors.\nFor example to see ThingsBoard Edge node logs execute the following command:\n\n`\n$ docker-compose logs -f tb-edge1 tb-edge2 tb-edge3\n`\n\nOr use `docker-compose ps` to see the state of all the containers.\nUse `docker-compose logs --f` to inspect the logs of all running services.\nSee [docker-compose logs](https://docs.docker.com/compose/reference/logs/) command reference for details.\n\nExecute the following command to stop services:\n\n`\n$ ./docker-stop-services.sh\n`\n\nExecute the following command to stop and completely remove deployed docker containers:\n\n`\n$ ./docker-remove-services.sh\n`\n\nExecute the following command to update particular or all services (pull newer docker image and rebuild container):\n\n`\n$ ./docker-update-service.sh [SERVICE...]\n`\n\nWhere:\n\n- `[SERVICE...]` - list of services to update (defined in docker-compose configurations). If not specified all services will be updated.\n\n## Upgrading\n\nIn case when database upgrade is needed, execute the following commands:\n\n```\n$ ./docker-stop-services.sh\n$ ./docker-upgrade-tb.sh\n$ ./docker-start-services.sh\n```\n\n## Monitoring\n\nIf you want to enable monitoring with Prometheus and Grafana you need to set \u003cb\u003eMONITORING_ENABLED\u003c/b\u003e environment variable to \u003cb\u003etrue\u003c/b\u003e.\nAfter this Prometheus and Grafana containers will be deployed. You can reach Prometheus at `http://localhost:9090` and Grafana at `http://localhost:3000` (default login is `admin` and password `foobar`).\nTo change Grafana password you need to update `GF_SECURITY_ADMIN_PASSWORD` environment variable at `./monitoring/grafana/config.monitoring` file.\nDashboards are loaded from `./monitoring/grafana/provisioning/dashboards` directory.\n\nIf you want to add new monitoring jobs for Prometheus update `./monitoring/prometheus/prometheus.yml` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthingsboard%2Fthingsboard-edge-pe-docker-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthingsboard%2Fthingsboard-edge-pe-docker-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthingsboard%2Fthingsboard-edge-pe-docker-compose/lists"}