Source · Documentation · Community · Issues · Docker Images · OpenRemote Inc.
We are currently working on OpenRemote Manager v3, a concise 100% open source IoT platform. This is beta software.
Before following this quickstart make sure you have prepared your environment. There are two options how to start with OpenRemote:
- Starting OpenRemote with images from Docker Hub (easiest)
- Starting OpenRemote with source-build images
We publish Docker images to Docker Hub:
docker-compose pull
To run OpenRemote using Docker Hub images, execute the following command from the checked out root project directory:
docker-compose up --no-build
To run OpenRemote is swarm mode, which uses Docker Hub images:
docker stack deploy --compose-file docker-compose-swarm.yml openremote
you don't need to pull or build images in this case, docker swarm mode does this automatically.
Alternatively you can build the Docker images locally from source, please see here for required tooling. First build the code:
./gradlew clean installDist
Next, if you are using Docker Community Edition build the Docker images and start the stack with:
docker-compose up --build
A first build will download many dependencies (and cache them locally for future builds), this can take up to 30 minutes.
When all Docker containers are ready, you can access the OpenRemote UI and API with a web browser (if you are using Docker Toolbox replace localhost
with 192.168.99.100
):
OpenRemote Manager: https://localhost
Username: admin
Password: secret
Demo Smart City App: https://localhost/main/?realm=smartcity
Username: smartcity
Password: smartcity
You must accept and make an exception for the 'insecure' self-signed SSL certificate. You can configure a production installation of OpenRemote with a your own certificate or automatically use one from Let's Encrypt.
Interrupting the docker-compose up
execution stops the stack running in the foreground. The OpenRemote containers will stop but not be removed. To stop and remove the containers, use:
docker-compose down
This will not affect your data, which is durably stored independently from containers in Docker volumes (see all with docker volume ls
):
openremote_deployment-data
(map tiles, static resources)openremote_postgresql-data
(user/asset database storage)openremote_proxy-data
(SSL proxy configuration and certificates)
If you want to create a backup of your installation, make a copy of these volumes.
The default configuration will wipe the user/asset database storage and import demo data when containers are started! This can be changed with the environment variable SETUP_WIPE_CLEAN_INSTALL
. Set it to to false
in docker-compose.yml
or provide it on the command line.
When a configuration environment variable is changed, you must recreate containers. Stop and remove them with docker-compose down
and then docker-compose up
the stack again.
More configuration options of the images are documented in the deploy.yml profile.
We work with Java, Groovy, TypeScript, Gradle, Docker, and a wide range of APIs and protocol implementations. Clone or checkout this project and send us pull requests, ensure that code is covered by tests and that the full test suite passes.
For more information and how to set up a development environment, see the Developer Guide.
Join us on the community forum.