Comments (7)
@LongLiveCHIEF I'm not sure what you're actually suggesting because there are no code/documentation changes that I have seen to review. I mostly just wanted to get my PR in front of people who might not already be familiar with Balena.io (formlerly Resin.io) as it is a simple and convenient way to deploy OctoPrint.
Balena.io is "device deployment and management infrastructure" so while you might in the end be suggesting something similar, the implementation will be different. Over at my PR I haven't changed anything about OctoPrint itself. Documentation changes are probably irrelevant too, as my solution just works in the Balena environment. I'm just invoking the server in a way that enables the persistence, and creating the appropriate places in the filesystem to support the invocation options.
from octoprint-docker.
This issue has been mentioned on OctoPrint Community Forum. There might be relevant details there:
from octoprint-docker.
This is not an issue in my fork of balena-io-playground/balena-octoprint:
balena-io-experimental/balena-octoprint#4 (comment)
from octoprint-docker.
@RyanBalfanz can you elaborate? I took a look at your fork, but didn't see how it's doing anything different. In fact, it seems you're suggesting the same thing I am, in keeping plugins separate from the docker image.
Feel free to hop on #octoprint freenode irc and chat also. I know there hasn't been much public activity on this repo the last 2 weeks, but I've been doing a lot of work on this behind the scenes around this one.
from octoprint-docker.
@RyanBalfanz the biggest change we've made is multi-arch support. might want to take a look and see what yo ucan adopt for balena's project. This includes the latest versions of ffmpeg
, which i'm not certain you get when installing through package manger. (Last time I tried i got v2 ffmpeg instead of v4.)
OctoPrint itself acts as a plugin supervisor, making it possible to upgrade plugins. This is a grey area when it comes to docker, because it's a process wrapper and not a full virtual machine.
The documentation I'm going to be focusing on here is going to target the approach that will be most stable to our end users, and I'm still testing that one out.
In the end, the big decision or recommendation will be answering the questions "should i upgrade octoprint/plugins by pulling/building a new image, or should I let octoprint update itself once I spin it up the first time."
from octoprint-docker.
@LongLiveCHIEF Got it. I dropped installing ffmpeg
recently, at least in my current PR because I planned to later use a multi-container app with their balena-cam WebRTC to drive the webcam feature in OctoPrint, rather than a solution such as running Supervisor
to manage both the webcam (e.g. raspivid + gstearmer|ffmpeg|vlc, WebRTC, etc.). This feels like the right solution, although multi-containers are a paid feature for balena, so I might just fall back to Supervisor anyway, or publish both options in separate repos.
Their master branch, which does't seem to get a lot of attention, doesn't natively support a webcam anyway, as far as I know given the way it's designed. It's rather barebones and not super usable (e.g. plugin persistence, webcam, etc.), which I why I stopped using it in favor of OctoPi for a while. This is because of the same reasons you mention above, because it's a docker container environment. But I like using balena, and wanted to go back, hence my increased attention to my fork and changes there.
I have also folded into my changes the beginnings of a multi-container balena app, but thought that would be a separate PR so they are not pushed yet. I might just need to consider their project defunct and start a proper hard fork, rather than just relying on them to merge to master and me to follow along from there on my personal fork.
- https://www.balena.io/blog/two-projects-one-device-turn-your-raspberry-pi-into-a-multitool/
- https://www.balena.io/blog/bring-a-dummy-security-camera-to-life-using-a-raspberry-pi-and-webrtc/
from octoprint-docker.
As for balena-cam, this is not explicitly documented, but it also supports mjpeg as a fallback to WebRTC. I believe that will work fine with OctoPrint.
- https://github.com/balenalabs/balena-cam/blob/master/balena-cam/app/server.py#L218
- https://github.com/balenalabs/balena-cam/blob/master/balena-cam/app/client/client.js#L237
from octoprint-docker.
Related Issues (20)
- marlin-binary-protocol missing
- Config_Directory not properly initiated HOT 3
- Q: what is the preffered method of updating the octoprint-docker container? HOT 1
- [BUG] octoprint/octoprint:latest or :1.8.6 not up to date HOT 4
- Q: octoprint-docker on Windows HOT 2
- Multiple Webcam Support
- [BUG] Multi camera support uses wrong port HOT 1
- Can't get webcam working
- Multiple processes of mjpg streamer started HOT 7
- [BUG] Webassets are not loaded when X-Script-Name is set HOT 3
- [BUG] Loading error: Passive login failed. raspi 4 HOT 8
- Docker container with camera-streamer HOT 3
- Shutdown/Reboot commands HOT 3
- [BUG] `undefined` tag is present on Dockerhub HOT 1
- AttributeError: 'Babel' object has no attribute 'app' HOT 5
- [BUG] validating /<path>/docker-compose.yml: (root) Additional property payload is not allowed HOT 2
- upgrade to bookworm release python HOT 3
- [BUG] and proposed fix for "PermissionError: [Errno 1] Operation not permitted" due to libseccomp2 HOT 2
- [BUG] mjpg_steamer fails and needs to be restarted
- Q: How do I use with CasaOS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from octoprint-docker.