Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

openremote/core

Hardware & IoT

Open-source IoT platform for device management, rules, dashboards and multi-tenant deployments.

2,089
513
Java
NOASSERTION
10 years old

What it does

OpenRemote Core is the Java-based core of a fully open-source IoT platform. It combines device management and auto-provisioning, customizable asset types, a rules engine (when-then, flow, JavaScript and Groovy), protocol agents, manager APIs (MQTT broker, HTTP/REST, WebSocket), multi-tenancy through realms, user and role management, an edge gateway, and web-component-based consoles including an Insights dashboard builder. It is aimed at teams building device-management, building, energy, fleet or smart-city solutions rather than at single-board hobby projects.

The repository is the platform itself; the surrounding documentation, forum and Docker images are the official starting points (core repository, documentation).

Quick start

Prerequisites: Docker Desktop v18 or newer, available for amd64 and arm64.

  1. Install Docker Desktop.
  2. Download the docker-compose.yml file.
  3. In a terminal, cd to the directory containing the compose file and run:
docker compose pull
docker compose -p openremote up

Once the stack is running, open https://127.0.0.1 and accept the self-signed certificate in the browser. Log in with admin / secret.

If you access the stack from a VM or another host, set OR_HOSTNAME so the generated URLs match:

OR_HOSTNAME=192.168.1.1 docker compose -p openremote up -d

On Windows CMD, use cmd /C "set OR_HOSTNAME=192.168.1.1 && docker compose -p openremote up -d". To explore without installing, the hosted demo at demo.openremote.app uses the restricted smartcity:smartcity login.

From the Manager UI you can create assets, agents, rules, users and realms; the Manager UI guide and the HTTP agent tutorial walk through the next steps.

Data and operations

Persistent data lives in PostgreSQL inside the openremote_postgresql-data Docker volume, which survives container restarts. Historical attribute data is kept indefinitely by default; set OR_DATA_POINTS_MAX_AGE_WEEKS to purge data older than a number of weeks, and follow the backup/restore guide for database backups. The manager distribution and container image support OpenTelemetry tracing (traces documentation).

Customization and development

Custom deployments can rebrand the Manager, and custom projects can add protocols, asset types and setup code (custom deployment, custom project guide). The codebase uses Java, Groovy, TypeScript and Gradle; the developer guide covers IDE setup and UI work. Contributions follow GitHub Flow with descriptive branches and pull requests that keep tests passing.

The license is reported by GitHub as NOASSERTION, so check the repository's license terms before commercial use. The repository does not spell out system sizing or production hardening requirements beyond the Docker setup.

HotRepo's take

On 2026-11-05 the Java daily list recorded OpenRemote at 3rd position with 31 new stars, bringing the repository to 2,066 stars and 506 forks. It is a long-running project (created in 2016) whose ranking entry came from a single daily snapshot, so the data supports noting that day's visibility rather than a sustained growth trend. The combination of a full platform scope, Docker-based evaluation path and a hosted demo gives readers a concrete way to judge fit quickly.

Written by AI from the project's README, updated . The project's own docs are the source of truth.