i realize this is a very old topic … but i only recently got me a 3D printer … due to the fact that the printer is usually installed via a serial USB line i had to install the snap in --devmode on one of my Pi’s on Ubuntu Core 16, i think the raw-usb interface could/would help here …
octoprint also allows timelapse style recording of the printer video stream through ffmpeg … for this, an ffmpeg part could be included in the snap.
another bit that would help is to include avrdude into stage-packages to allow using the firmware upgrade plugin.
The Cura engine (which is used for slicing objects you drag/drop into the browser window) seems to be included in the snap but you have to pick the path to make the app find it (which is indeed an absolute path inside the snap). it would be helpful if this could pe pre-set in the default config of the snap (since in strict mode you wouldbnt be able anyway to pick the engine from a different location)
and lastly i had to manually create a systemd unit to make the app start in daemon mode but under my user account … i guess for this to work automatically we need the daemon user stuff that @jdstrand currently works on (since the app itself checks if it is run by root and will refuse to start)
overall, i must say this is awesome work … grabbing an UbuntuCore image, installing mjpg-streamer, avahi and octoprint (in devmode) took like 20min and i was ready to print !!
i’d love to make an actual RPi appliance image with these three snaps preinstalled so you could even just write it to SD and are ready to configure it in the browser, but for that we’d indeed need full strict confinement first.