matthewcroughan / octobalena Goto Github PK
View Code? Open in Web Editor NEWThis project forked from balena-io-experimental/balena-octoprint
Control your 3d-printer with octoprint + octoscreen via balena!
License: GNU General Public License v2.0
This project forked from balena-io-experimental/balena-octoprint
Control your 3d-printer with octoprint + octoscreen via balena!
License: GNU General Public License v2.0
Good morning!
Let me know when you get in to DoES.
Can we try out the remote webcam?
when building release its failing on octodash
Thanks for sharing this project. Is there a way to make it work with multiple printers? I managed it to do it on a regular system with modifications to udev rules to makes sure that each octoprint instance connects to the right printer but trying to make it with balena for easier management.
Thanks for suggestions.
I deployed this application to a balenaFin, and the app crashlooped with the following error:
30.01.21 17:04:21 (+0000) octoprint standard_init_linux.go:211: exec user process caused "no such file or directory"
30.01.21 17:05:26 (+0000) octoprint standard_init_linux.go:211: exec user process caused "no such file or directory"
30.01.21 17:05:29 (+0000) Service exited 'octoprint sha256:a2b62865f85fcfaf8cac7f39286947a727a60cf2abe9bf14de9546b96038c2d7'
30.01.21 17:06:30 (+0000) Restarting service 'octoprint sha256:a2b62865f85fcfaf8cac7f39286947a727a60cf2abe9bf14de9546b96038c2d7'
30.01.21 17:05:26 (+0000) octoprint standard_init_linux.go:211: exec user process caused "no such file or directory"
30.01.21 17:06:30 (+0000) octoprint standard_init_linux.go:211: exec user process caused "no such file or directory"
This was on balenaOS 2.58.3+rev1 with supervisor version 11.14.0
Hey everybody, unfortunately, I'm not able to get octodash running...
I'm using a 3,5 touch screen with a RPI 4.
octodash [83:0424/170030.645110:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
Already changed the docker to get the dbus recognized
octodash:
restart: always
build: ./octodash
privileged: true
environment:
- UDEV=1
- DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket
depends_on:
- octoprint
labels:
io.balena.features.dbus: '1'
Anybody else has expierenced this issue and any suggestion for an solution?
Thank you in advance!
For example, if my PRINTER_NAME = matt-ender3
and MDNS = 1
then the container should ask the host's avahi-daemon to broadcast at matt-ender3.local
.
Python2 is deprecated. OctoPrint supports both 3 and 2 (apparently) although I had trouble with the build for Python3
There seem to be a lot of dependencies installed, particularly for OctoDash.
Container size is pretty large as a result
[Info] │ Service │ Image Size │ Delta Size │ Build Time │
[Info] ├────────────────┼────────────┼────────────┼───────────────────────┤
[Info] │ octoprint │ 524.69 MB │ 54.13 MB │ 5 minutes, 54 seconds │
[Info] ├────────────────┼────────────┼────────────┼───────────────────────┤
[Info] │ octodash │ 763.66 MB │ 2.06 MB │ 2 minutes, 42 seconds │
[Info] ├────────────────┼────────────┼────────────┼───────────────────────┤
[Info] │ traefik │ 62.16 MB │ 0 bytes │ 2 seconds │
[Info] ├────────────────┼────────────┼────────────┼───────────────────────┤
[Info] │ mdns-publisher │ 103.76 MB │ 430.82 KB │ 1 minute, 3 seconds │
[Info] └────────────────┴────────────┴────────────┴───────────────────────┘
We should be able to reduce this I would think. In particular OctoDash
The setup process could be made automatic if I could securely negotiate the octoprint apikey between the Octodash and Octoprint container, to set the environment variable. Whatever method I end up coming up with could be used for all sorts of other things in the future. One idea I have is sending it via gpg
.
Getting the following error during Balena build.
Error: The command '/bin/sh -c pip3 install --no-cache-dir https://github.com/depl0y/pybonjour-python3/archive/master.zip zeroconf' returned a non-zero code: 1
The build fails.
regards
//Magnus
Hi, thanks for your great work on this project. I set it up a couple of days ago and have tested it out with my first few prints.
I'm now trying to connect the camera module, but I can't seem to get it working. I have connected it to my pi and changed the fleet settings as documented here: https://www.balena.io/docs/learn/develop/hardware/i2c-and-spi/#raspberry-pi-camera-module
But I still cannot get it to show up. I can't work out how to check if the Host OS is "seeing" the camera.
Are there any other settings involved in getting the camera to work?
As this isn't discussed in the README I thought it may be worthwhile to ask the question here so other people can see it if they have the same issue.
Thanks,
Gregor
For some reason specifying PRINTER_NAME causes jq
to fill in null
on entry.
There's something in the Debian dependency tree that is pulling in Python2
Getting the following build error using the balena deploy:
ERROR: The command '/bin/sh -c pip3 install aiohttp aiortc numpy opencv-python' returned a non-zero code: 1
The build fails due to this error.
Regards,
Gregor
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.
I see that the project has a few stars right now, it must be stressed that the graphical component of this project is in no way ready for usage and there are plenty of bugs that I'm personally aware of that I can't document entirely. So, I'm moving to https://github.com/UnchartedBull/OctoDash
Anyone who has experience with NPM and NodeJS generally would able to help, as I am poorly managing to package it, I am probably doing it inefficiently.
https://github.com/balena-io/resin-electronjs I am using this as a reference. I'll submit the results of what I get working tonight to Master.
I'm trying to deploy this on a Raspberry Pi 4b and I get the following build error when deploying via Balena
[octoprint] Step 2/20 : RUN apt-get update && install_packages libavahi-compat-libdnssd1 zlib1g-dev libjpeg-dev python3-dev python3-wheel python3-pip python3-setuptools fontconfig libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libswscale-dev libswresample-dev libsrtp2-dev libsrtp2-1 libopus-dev libvpx-dev ffmpeg pkg-config python-dev python3-dev gcc g++ wget dosfstools imagemagick libv4l-dev git make cmake haproxy dbus libatlas-base-dev avrdude libssl-dev libffi-dev libraspberrypi-bin curl jq psmisc
[octoprint] ---> Running in 2601166a6f4c
[octoprint] Here are a few details about this Docker image (For more information please visit https://www.balena.io/docs/reference/base-images/base-images/):
[octoprint] Architecture: ARM v8
[octoprint] OS: Debian Buster
[octoprint] Variant: run variant
[octoprint] Default variable(s): UDEV=off
[octoprint] Extra features:
[octoprint] - Easy way to install packages with `install_packages <package-name>` command
[octoprint] - Run anywhere with cross-build feature (for ARM only)
[octoprint] - Keep the container idling with `balena-idle` command
[octoprint] - Show base image details with `balena-info` command
[octoprint] Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
[octoprint] Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
[octoprint] Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
[octoprint] Get:4 http://security.debian.org/debian-security buster/updates/main arm64 Packages [297 kB]
[octoprint] Get:5 http://deb.debian.org/debian buster/main arm64 Packages [7735 kB]
[octoprint] Get:6 http://deb.debian.org/debian buster-updates/main arm64 Packages [14.5 kB]
[octoprint] Fetched 8287 kB in 2s (4447 kB/s)
[octoprint] Reading package lists...
[octoprint] Reading package lists...
[octoprint] Building dependency tree...
[octoprint] Reading state information...
[octoprint] E: Unable to locate package libraspberrypi-bin
[octoprint]
[octoprint] apt failed, retrying
[octoprint] Reading package lists...
[octoprint] E: Unable to locate package libraspberrypi-bin
[octoprint]
[octoprint] Building dependency tree...
[octoprint] Reading state information...
[octoprint] apt failed, retrying
[octoprint] Reading package lists...
[octoprint] Building dependency tree...
[octoprint] Reading state information...
[octoprint] E: Unable to locate package libraspberrypi-bin
[octoprint]
[octoprint] Removing intermediate container 2601166a6f4c
[octoprint] The command '/bin/sh -c apt-get update && install_packages libavahi-compat-libdnssd1 zlib1g-dev libjpeg-dev python3-dev python3-wheel python3-pip python3-setuptools fontconfig libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libavfilter-dev libswscale-dev libswresample-dev libsrtp2-dev libsrtp2-1 libopus-dev libvpx-dev ffmpeg pkg-config python-dev python3-dev gcc g++ wget dosfstools imagemagick libv4l-dev git make cmake haproxy dbus libatlas-base-dev avrdude libssl-dev libffi-dev libraspberrypi-bin curl jq psmisc' returned a non-zero code: 100
When I finish last initial setup step and I click Finish
, nothing append in the UI. Using FF dev tools I see an error 500 on /api/settings [POST]. In Balena logs there is a python stacktrace :
15.01.21 15:15:55 (+0100) octoprint File "/usr/local/lib/python3.7/dist-packages/octoprint/server/api/settings.py", line 936, in _saveSettings 15.01.21 15:15:55 (+0100) octoprint "gcode", name, script.replace("\r\n", "\n").replace("\r", "\n") 15.01.21 15:15:55 (+0100) octoprint AttributeError: 'NoneType' object has no attribute 'replace' 15.01.21 15:15:55 (+0100) octoprint 2021-01-15 14:15:55,422 - tornado.access - ERROR - 500 POST /api/settings (::ffff:192.168.1.106) 24.98ms
I'm running octoprint with balenaOS 2.58.3+rev1 on a raspberry 3 B+.
Seems to install an awful lot of stuff. Maybe we can make it more lightweight, move to Alpine base or something?
We should probably move the Docker build to specific versioned releases of plugins rather than just using whatever happens to be in master whenever a build occurs
Guess stuff are missing, errors from plugin_softwareupdate_console.log follow bellow.
2020-09-30 09:31:06,609 ! psutil/_psutil_posix.c:29:14: fatal error: linux/types.h: No such file or directory
2020-09-30 09:31:06,609 ! #include <linux/types.h>
2020-09-30 09:31:06,610 ! ^~~~~~~~~~~~~~~
2020-09-30 09:31:06,610 ! compilation terminated.
2020-09-30 09:31:06,611 ! error: command 'gcc' failed with exit status 1
2020-09-30 09:31:06,584 ! ERROR: Command errored out with exit status 1:
2020-09-30 09:31:06,585 ! command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qw0oIM/psutil/setup.py'"'"'; file='"'"'/tmp/pip-install-qw0oIM/psutil/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-AW_xUd
2020-09-30 09:31:06,586 ! cwd: /tmp/pip-install-qw0oIM/psutil/
2020-09-30 09:31:06,587 ! Complete output (50 lines):
2020-09-30 09:31:06,588 ! /tmp/tmp6EJBar.c:1:10: fatal error: linux/ethtool.h: No such file or directory
works with balena public IP but not with local one.
I guess it has to do with traefik settings
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.