This repository is a template for custom projects; showing the recommended project structure and including README files in the deployment directory to provide details about how to customize each part.
You can find the documentation here.
(Please describe, in a short summary, the context of the project.)
This repository is set up using the Custom Project template. This repository uses the same standards and folder structure. More information about how to use this repository as a template to develop your own agents, services, model classes, setup tasks, tests, and new UI apps can be found in the OpenRemote documentation.
(Please insert a bullet point list with features specific to this custom project.)
(Please insert a bullet point list with common terms in this project, with a short explanation.)
(If applicable, write context about the company this custom project is meant for.)
(Please insert, preferably a diagram, or a short explanation of the high level architecture)
The identity provider in place is Keycloak, running in its own container. The default configuration from the repository (link) is used.
All requests from and towards running services go through the HAProxy container. The default configuration from the repository (haproxy.cfg) is used.
Before starting, make sure you have cloned the Git repository locally, as this is required. Follow the initial guides on the OpenRemote documentation on preparing the environment, installing and using Docker, and on setting up an IDE.
(Please describe the steps necessary to run this custom project locally.)
In the profile directory you can find different Docker Compose files, each serving a different purpose. To be able to use them, you'll need to download a copy of the deploy.yml file from the main OpenRemote repository and place it in the openremote/profile directory, to ensure you always have the latest version of the file:
mkdir -p openremote/profile && curl -L https://github.com/openremote/openremote/raw/refs/heads/master/profile/deploy.yml -o openremote/profile/deploy.yml| Key | Containers | Description | Default |
|---|---|---|---|
OR_HOSTNAME |
All services | (REQUIRED) FQDN hostname of where this instance will be exposed (localhost, IP address or public domain) | - |
OR_ADMIN_PASSWORD |
keycloak, manager |
(REQUIRED) Initial admin user password | - |
DEPLOYMENT_VERSION |
deployment |
(REQUIRED) The custom project version in use. This tag is used for building and deploying the artifacts from this repository. | - |
MANAGER_VERSION |
manager |
The OpenRemote version in use. | 'latest' |
KEYCLOAK_VERSION |
keycloak |
The Keycloak version in use. | 'latest' |
PROXY_VERSION |
proxy |
The HAProxy version in use. | 'latest' |
A list of all environment variables from OpenRemote can be found here.
This custom project is deployed by OpenRemote on their managed infrastructure. It's running in Docker containers, using the docker-compose.yml file in the root folder of the repository. All deployments are run using the GitHub Actions CI/CD workflow.
The list of available environments:
Used by OpenRemote to test new functionality and bugfixes before publishing them to production. Important practices and agreements to be aware of:
- This environment is only used for development purposes, so can be offline at any time.
- There is no guarantee that this data will be persisted in the long-term.
- OpenRemote Manager: https://(staging.CUSTOM_HOSTNAME).com/manager
- Custom app: https://(staging.CUSTOM_HOSTNAME).com/custom
Used for the live system with devices in the field, with a guarantee of stability and data persistence. Important practices and agreements to be aware of:
- There is a daily backup active for this instance.
- This deployment is manually updated, and should be communicated with stakeholders.
- OpenRemote Manager: https://(CUSTOM_HOSTNAME).com/manager
- Custom app: https://(CUSTOM_HOSTNAME).com/custom