MatthewCroughan / octobalena

Control your 3d-printer with octoprint + octoscreen via balena!
GNU General Public License v2.0
49 stars 22 forks source link

Octoprint volumes are problematic #6

Open MatthewCroughan opened 4 years ago

MatthewCroughan commented 4 years ago

I can't fully articulate the issue at hand right now, but I'm making a note of it for when I get around to it. Simply put, the fact that Octoprint has a volume that links to /data is problematic, since the included plugins are also in this directory, which means that the state of these plugins and absolutely everything else cannot be modified by updating the Dockerfile. I should fix this.

MatthewCroughan commented 4 years ago

This PR https://github.com/MatthewCroughan/octobalena/pull/11 is a Change-type: major due to this issue. If we can have our own /usr/src/octobalena/config.yaml and combine it with the one that Octoprint is managing at runtime, then we can solve this. Until then, we cannot change the config.yaml without it being a major change.

MatthewCroughan commented 4 years ago

Regarding plugins, I noted the following in https://github.com/MatthewCroughan/octobalena/pull/10

to get around this for the time being I use PYTHONUSERBASE=/usr/local in the Dockerfile, so that plugins installed by the Dockerfile are stateless and installed in an unmanaged directory.

/data/plugins should remain a managed directory since then user installed plugins remain, obviously. The only real issue is that we cannot change portions of the config.yml for a user after they've installed Octobalena, so any major changes will not propagate to them.

thzinc commented 3 years ago

I think my PR #41 might have resolved some of the symptoms described here by updating the --basedir to be a path under /data.