You indeed found the solution to the docker problem. The issue is that there are two more.
The Spark service is based on arm32v7/python3.7-slim. If you start the service on ARMv6 (Raspberry Pi 1), it crashes immediately.
ARM32v6 Python Docker images are available, but only in Alpine. This would require adjustments to how the BrewBlox docker images are built. Not impossible, but not trivial either.
The stated memory constraints are mostly the result of two services we run: InfluxDB and RabbitMQ.
InfluxDB is the database used to store history data (used in graphs).
RabbitMQ is used by services to communicate. (for example: sending data to InfluxDB).
If you don’t care about history data, you can technically run the system without them: the Spark service can operate independently.
Initial feedback indicated that the vast majority of users would rather upgrade to a later model of the Raspberry Pi than use the system without history data. Our call was that solving all the ARMv6 issues was not worth the effort if the end result was something people didn’t really want anyway.
If you’re absolutely determined to get it working - and don’t care about history data - you can build your own Docker images from our code. I’d be happy to help you get started, but I can’t promise it’ll be easy.
Edit: during the process of figuring out the build process, I’ve written a few documents on my findings.