Skip to content

Docker support

Johan Meijer edited this page Mar 11, 2024 · 7 revisions

Grott supports docker containers

Grott images are available at docker hub (https://hub.docker.com/u/ledidobe):

  • ledidobe/grott (or ledidobe:grott:latest) for the standard build

  • ledidobe/grottserver (or ledidobe:grottsever:latest) for the build with grottserver enabled (no communication with Growatts servers needed)

  • ledidobe/grott:beta or ledidobe:grottserver:beta for the latest beta builds

  • ledidobe/grottrpi (or ledidobe:grottrpi:latest) for the armv32 build (to support Raspberry PI boards).

  • ledidobe/grottserverrpi (or ledidobe:grottserverrpi:latest) for the armv32 build (to support Raspberry PI boards).

Be aware since grott 2.8.2 (Beta) and higher grott is supporting multiple architecture docker containers (AMD64, ARM64, ARM/V6 and ARM/V7).

For now only the beta versions are available with the multiple architecture support:

  • ledidobe/grott:beta (or ledidobe/grott:2.8.3)
  • ledidobe/grottserver:beta (or ledidobe/grott:2.8.3)

Ledidobe/grottrpi and ledidobe/grottserverrpi are still there while these are stilling being downloaded but will not be updated with the new releases.

Environmentals are important!!!!

The docker images created using the default values. This will be sufficient to run grott only the MQTT ip address needs to be specified at container startup
MQTT and other settings of Grott can be set at docker container run time by specifying environmentals (for available paramters see configuration page: https://github.com/johanmeijer/grott/wiki/Grott-Configuration).

Simple docker startup with MQTT:

docker run -d -p 5279:5279 --restart on-failure -e gmqttip="192.168.0.206" ledidobe/grott.
  • -p 5279:5279 maps grott container port
  • --restart on-failure means allow the restart of the grott container after a failure

Simple docker startup with PVOuput.org send and command blocking enabled:

docker run -d -p 5279:5279 --restart on-failure -e gnomqtt="True" -e gblockcmd="True" -e gpvoutput="True" -e gpvapikey="apikey" -e gpvsystemid="systemid" ledidobe/grott

external grott.ini file

It also possible to set the grott parameters in a external file. Add -v parameter to the docker run command, example:

-v /opt/grott/your.ini:/app/grott.ini

Time Zones

A docker container will use by default the GMT time. If Grott uses the server time (if no or no time or wrong time format is provided by the growatt inverter) it will sent the data records to MQTT and PVOutput with GMT as time reference.
If you want to use a different time zone it can be specified by the standard docker timezone environmental: TZ. You have to specify:

  • -e TZ=Your/timezone

at the docker run command (or in the docker compose YAML file).

A list of time zones can be found at: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Docker documentation in grott/docker directory on github: https://github.com/johanmeijer/grott/tree/master/docker

  • dockerfile: file used for creating the standard docker container
  • dockerrpi: file used for creating the RPI ARMV32 docker container
  • docker-compose.yml: example yaml file to be used with docker-compose (most important environment variables are defined)
Clone this wiki locally