Currently, ecPoint-Calibrate runs as a set of 3 Docker containers:
Electron app
Python backend
Logging infrastructure
Each of the above Docker containers run full-blown operating systems, which is doesn't leave a lot of memory for computations in resource-constrained environments. Furthermore, what's displayed on the screen is actually a raw stream of the display inside the Docker container, which is often the cause for sluggish user experience.
This issue proposes a lean runtime for ecPoint-Calibrate, without using Docker. This is also a first step to running ecPoint-Calibrate on MacOS and Windows.
Checklist:
[x] ~Use socket.io to stream logs to the frontend.~
[x] ~Decommission the current logging infrastructure.~
[x] ~Investigate PyInstaller, to produce a zero-dependency binary for the Python backend.~
[x] Use Electron Builder to package the who software into a single AppImage.
[ ] Implement auto-update.
UPDATE: items that are struck-through have been either evaluated to be unnecessary, or better alternatives were found for them.
Currently, ecPoint-Calibrate runs as a set of 3 Docker containers:
Each of the above Docker containers run full-blown operating systems, which is doesn't leave a lot of memory for computations in resource-constrained environments. Furthermore, what's displayed on the screen is actually a raw stream of the display inside the Docker container, which is often the cause for sluggish user experience.
This issue proposes a lean runtime for ecPoint-Calibrate, without using Docker. This is also a first step to running ecPoint-Calibrate on MacOS and Windows.
Checklist:
UPDATE: items that are struck-through have been either evaluated to be unnecessary, or better alternatives were found for them.