Welcome to the OpenRemote 3.0 platform; an intuitive user-friendly 100% open source IoT platform. We have our origins in Home Automation but our 3.0 platform is focused on generic IoT applications and is a completely different stack to any of our 2.x services. As the code base is 100% open source then the applications are limitless. Here's an architecture overview:
You can quickly try the online demo with restricted access, login credentials are
The quickest way to get your own environment with full access is to make use of our docker images (both
arm64 are supported).
cdto where you just saved the compose file and then run:
docker-compose pull docker-compose -p openremote up
If all goes well then you should now be able to access the OpenRemote Manager UI at https://localhost. You will need to accept the self-signed certificate, see here for details how to do this in Chrome (similar for other browsers).
The URL you use to access the system is important, the default is configured as
https://localhost if you are using a VM or want to run on a different port then you will need to set the
OR_SSL_PORT environment variables, so if for example you will be accessing using
https://192.168.1.1:8443 then use the following startup command:
OR_HOSTNAME=192.168.1.1 OR_SSL_PORT=8443 docker-compose -p openremote up -d
cmd /C "set OR_HOSTNAME=192.168.1.1 && set OR_SSL_PORT=8443 && docker-compose -p openremote up -d"
NOTE: When chaning
OR_SSL_PORT you will need to alter the
KEYCLOAK_FRONTEND_URL in the docker-compose.yml file (see comments in the file for details)
Try creating assets, agents, rules, users, realms, etc. using the Manager UI, please refer to the wiki for more information, some things to try:
Persistent data is stored in a PostgreSQL DB which is stored in the
openremote_postgresql-data docker volume which is durably stored independently of the running containers (see all with
docker volume ls).
If you want to create a backup of your installation, just make a copy of this volume.
For information and how to set up a development environment, see the Developer Guide.
We work with Java, Groovy, TypeScript, Gradle, Docker, and a wide range of APIs and protocol implementations.
We follow the Github Flow workflow with tags and releases for published versions of our components; when working on the codebase create descriptive branch names (e.g.
When your changes are complete then create a Pull Request ensuring that your branch is up-to-date with the source branch and that code changes are covered by tests and that the full test suite passes.
Join us on the community forum.