Deploy OpenEMS Edge to Docker
This chapter explains how OpenEMS can be deployed using our official Docker image.
Prerequisites:
-
A amd64 or arm64 device running Linux. You need the IP address and SSH access.
-
A working docker environment. To setup follow instruction from docs.docker.com.
1. Prepare system
1.2. Check docker installation
admin@raspi5:~$ docker --version
Docker version 27.3.1, build ce12230
if not already installed, follow Setup docker
1.3. Setup docker
To setup docker follow the instructions from docs.docker.com.
2. Start Container
2.1. Create a Docker compose
Paste content into a docker-compose.yml in a directory of your choice:
services:
openems-edge:
image: openems/edge:latest
container_name: openems_edge
hostname: openems_edge
restart: unless-stopped
volumes:
- openems-edge-conf:/var/opt/openems/config:rw
- openems-edge-data:/var/opt/openems/data:rw
ports:
- 8080:8080 # Apache-Felix
volumes:
openems-edge-conf:
openems-edge-data:
3. OpenEMS Edge UI
If you want to add the OpenEMS Edge UI to your setup, you can do so by adjusting your docker-compose.yml file to look like this:
services:
openems-edge:
image: openems/edge:latest
container_name: openems_edge
hostname: openems_edge
restart: unless-stopped
volumes:
- openems-edge-conf:/var/opt/openems/config:rw
- openems-edge-data:/var/opt/openems/data:rw
ports:
- 8080:8080 # Apache-Felix
- 8085:8085 # UI-Websocket
openems-ui:
image: openems/ui-edge:latest
container_name: openems_ui
hostname: openems_ui
restart: unless-stopped
volumes:
- openems-ui-conf:/etc/nginx:rw
- openems-ui-log:/var/log/nginx:rw
environment:
- WEBSOCKET_HOST=openems_edge
- WEBSOCKET_PORT=8085
ports:
- 80:80
- 443:443
volumes:
openems-edge-conf:
openems-edge-data:
openems-ui-conf:
openems-ui-log:
Summary of the changes:
-
Open a Port for UI Websocket (8085) on the
openems-edgeservice -
Added a new service
openems-uito the docker-compose file -
Added the volumes
openems-ui-confandopenems-ui-log
4. InfluxDB
If you want to add the InfluxDB time series database to your setup, follow the OpenEMS Backend deploy instructions to setup InfluxDB.
5. Changing the Language in the UI
To change the language in the OpenEMS UI:
-
Open the OpenEMS Edge UI in your browser.
-
Click the menu-icon in the top-left corner of the UI.
-
Click on the user to enter user settings.
-
Choose your preferred language from the "Sprache wählen"/"Select language" dropdown.
-
The UI will immediately switch to the selected language.
6. Next Steps
After successful deployment:
-
Open your browser and go to
http://localhostor the IP address of your device. -
Log in using default credentials provided in the documentation.
-
Verify that your OpenEMS Edge instance is connected and running.
-
For additional configuration, see: