You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi everyone,
I was having problems reading data from my Growatt Server to a Libre Computer (Version: S905X) with RaspBian as OS, but the
service Grott only supports amd64 platforms and mine happens to be arm64/v8.
Right now the way things stand is that in the docker-compose.yaml (the one that comes in ./docker/docker-compose.yaml ) starts to to build from the ledidobe/grott image. This image supports only AMD64 architecture and this problem (photo below) comes out when tying to docker compose up:
I came up with changing the docker-compose.yaml file in the following way:
So to resolve this problem now the compose file will find the Dockerfile to build. Mind I'm posting the Dockerfile for my project structure folder, so your mileage may vary
FROM python:3.7-slimENV LANG en_US.UTF-8ENV LC_ALL en_US.UTF-8# Run updatesRUN apt-get clean && apt-get update && apt-get upgrade -y# Set the localeRUN apt-get install -y locales && locale-gen en_US.UTF-8#Install required python packages RUN pip install paho-mqttRUN pip install requests RUN pip install influxdbRUN pip install influxdb-client COPY ./grott/grott.py /app/grott.pyCOPY ./grott/grottconf.py /app/grottconf.pyCOPY ./grott/grottdata.py /app/grottdata.pyCOPY ./grott/grottproxy.py /app/grottproxy.pyCOPY ./grott/grottsniffer.py /app/grottsniffer.pyCOPY grott.ini /app/grott.iniWORKDIR /appCMD ["python", "-u", "grott.py", "-v", "-t"]
So in my configuration I moved the dockerfile that was inside the docker folder (its name should be changed from dockerfile to Dockerfile with capital "D" for best practice and conventional naming) in the project root folder, and then all the grott related scripts and file inside a grott folder:
grott-project/
├─ docker-compose.yaml
├─ Dockerfile
├─ Version_history.txt
├─ Grottserver_history.txt
├─ get-docker.sh
├─ grott.ini
└─ grott/
├─ docker/
│ └─ ... all the file from the existing repo
├─ examples/
│ └─ ... all the files from the existing repo
├─ grottconf.py
├─ grottdata.py
├─ grott.ini
├─ grottproxy.py
├─ grott.py
├─ grottserver.py
├─ grott.service
├─ grottsniffer.py
So at the end: Is there a way to make a ledidobe/grott image available for other platforms? If not, my suggestion is to revisit the docker-compose.yaml file with the local image build and not from the ledidobe/grott on docker hub .
The text was updated successfully, but these errors were encountered:
The thing is I want to test the image I build and at this moment I do not have an arm64 device available. Although I have RPI4 I still (again) run it with a 32bits version of the OS.
To be honest I thought that a docker image created for/on an arm32 would also run on an arm64 device (and it does but only with a 32bit OS I think).
I suppose you have tested the grottrpi build on you ARM64 and this did not work?
I know there should be also a possibility to create a multiple platform Image but I have to dive into that.
Maybe in the near future I will upgrade to a 64bits OS again (and use an older RPI for the ARM32 build.
Yeah, we needed a working image for arm64 and the current one wasn't working so we created this issue. We've also created a pull request to generate docker images whenever there's a push to main in the #336 PR with github Actions, using docker buildx. You can have a look at it. The image for arm64 is working and currently in use in our office.
Hi everyone,

I was having problems reading data from my Growatt Server to a Libre Computer (Version: S905X) with RaspBian as OS, but the
service Grott only supports amd64 platforms and mine happens to be arm64/v8.
Right now the way things stand is that in the docker-compose.yaml (the one that comes in
./docker/docker-compose.yaml
) starts to to build from the ledidobe/grott image. This image supports only AMD64 architecture and this problem (photo below) comes out when tying to docker compose up:I came up with changing the docker-compose.yaml file in the following way:
So to resolve this problem now the compose file will find the Dockerfile to build. Mind I'm posting the Dockerfile for my project structure folder, so your mileage may vary
So in my configuration I moved the dockerfile that was inside the docker folder (its name should be changed from dockerfile to Dockerfile with capital "D" for best practice and conventional naming) in the project root folder, and then all the grott related scripts and file inside a grott folder:
So at the end: Is there a way to make a ledidobe/grott image available for other platforms? If not, my suggestion is to revisit the docker-compose.yaml file with the local image build and not from the ledidobe/grott on docker hub .
The text was updated successfully, but these errors were encountered: