Ok, yep – that’s the same out of memory error which others are seeing. Seems like the build is too tough for the older Pis. I think I’m pretty close to having a pre-built RPi image, though. I’ll let y’all know as soon as that’s available.
Worth trying the docker method?
Meanwhile, I’ll order a Rpi4 with 8GB, hopefully that can handle it.
I run this on 3 different RPi 4s, 1x 4GB and 2x 2GB.
Yes. That should be pre-built. According to my tools, the Docker container uses <= 512 MB of RAM.
This is the one I have:
Raspberry Pi 3 - Model B+ - 1.4GHz Cortex-A53 with 1GB
I also have a Zero W that I’m sure would melt into a puddle if I tried this.
That must be it, then. The build succeeds with 2GB of RAM, but fails with 1GB of RAM.
I’ve never tried installing something in docker. If the Rpi can’t handle it without the docker, what difference will it make if it’s on the same system?
“Handle it” is ambiguous. I have been attempting to make the distinction between building the software and running it. You’re stuck on the build step. I’m trying to provide pre-built solutions. I’m using “build” in the literal sense here, as in, software must be built (compiled) in order to run. Compiling, or building, is far more intensive than just running software. However, compiling software also requires compiling it differently for every different device, like Raspberry Pi, Mac, etc… which is why it’s hard on my end. If you look at the latest release, you can see I have it building for 10 different devices so far: Release [CI] Makerverse v1.1.0 · makermadecnc/makerverse · GitHub … just no pre-built raspberry pi image.
I see. Does a docker some how make it less memory intensive to compile the program?
Docker falls into the “pre-built” category I’m describing. There’s no compiling required. A docker image is a “container” for software that has already been built.
Any tips on making it work my first time through?
Just updated the Docker section of the docs: https://github.com/makermadecnc/makerverse#docker-image
Been a while since I did the install bit, but AFAIK that command works on any system.
Success!! Docker was much easier than the other method.
Can I still make it bootable like this?
mkdir -p ~/.config/systemd/user/
cp ./bin/makerverse.service ~/.config/systemd/user/
systemctl --user enable makerverse.service
systemctl --user start makerverse.service
I love hearing that. I actually work primarily with Docker stuff (web APIs, big server backend stuff). I have always felt that everyone should use Docker for everything. I have over 20 different Docker apps running on my home network alone, all on Raspberry Pis.
We need to make some modifications to the bin/makerverse.service
file first. Can you tell me exactly the command you used to start the Docker image? Did you mount the .cncrc
file for example, like the README suggested? Did you need to use sudo
? I’ll use this information to tweak the servicefile.
I have not changed the .cncrc file, about to try that now.
I followed it to a “T”.
Well, there were two different examples given of how to launch the Docker app – so I’ll assume you went with the first one. And you’re about to run in to the problem of “how do I save my settings?” To which the answer is: “use the second example.” Also, I suggested that you might need sudo
, which I believe you do, but the examples did not include it, so if you were able to start it on the RPi without sudo I’m actually a bit surprised.
I used this:
#### Manual Installation
You will need node
( Node.js ) version 12.xx.y
. Downloads for Windows, Mac, and Linux can be found here (including via package managers). On a Raspberry Pi or Debian Linux system, use the following:
* *curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -* *sudo apt-get install -y nodejs* *
Next, either git clone
this repository (preferred), or download and unzip the Source Code from the Release. Enter the source code directory from the command line and run:
* *chmod +x ./bin/launch* *bash ./bin/launch* *
The first time you run, this will take a while. This “run” script is doing the necessary installs and updates. Once it starts, open http://localhost:8000
on the same device . You should find the web application. If you’d like to access it from a different device, see the Configuration section.
To update the application, first acquire the new source code ( git pull
or download the latest release and unzip on top of the existing directory). Then, just run the ./bin/launch
script again to launch the application.
I moved my Rpi into the garage and connected to the Arduino. Just as I feared, I can’t get cncjs to start up again. I tried the run as a service part below manual installation and it didn’t work.
I’m extremely confused. In your last post, you told me you used the Docker install method. In this post, you told me you used the Manual Installation. To be clear: the two are mutually exclusive. They are two totally different ways to run the app. And we haven’t addressed the auto-start yet, since I still don’t have the information I need from you, so that is not expected to work at this point given the state you’re in.
Yeah I’m sorry, still too many tabs open. I did the docker method you linked me to:
#### Docker Image
If you are experienced with Docker already , pull from makerverse/core:latest
(multi-arch image, including amd64
, armv7
, and arm64
). The application is launched from the /home/node
directory, where the root of this repository resides. Consider mounting a ~/.cncrc
file into /home/node/.cncrc
, or widgets into /home/node/widgets
, for example.
If you’re new to Docker , start by installing it. Just like with Node.js, it is recommended to use the Windows / MacOS installers, when applicable. On Linux/Raspberry Pi, there’s a one-line installer available:
* *curl -sSL https://get.docker.com | sh* *
Then, run the container. For example:
* *docker run --privileged --rm -p 8000:8000 makerverse/core:latest* *
Note: if you get a permission error, use sudo docker ...
.
Example: persist your settings onto your Raspberry Pi:
* *touch /home/pi/.cncrc* *docker run --privileged --rm -v /home/pi/.cncrc:/home/node/.cncrc -p 8000:8000 makerverse/core:latest* *
The only issue that came up was when I mistyped one character. I never had to use SUDO for anything.
Now, using VNC viewer, I can’t get it to run using:
docker start cnc
or
sudo docker start cnc
Also, not sure it matters but there’s no /makerverse dir anymore. I’m guess that’s for the manual install?
Fascinating. The first line there is an installer. When I run it on my Pi, I cannot subsequently run docker
without writing sudo
in front of it.
Yes, that’s what I expected. This means you need to put sudo
in front of the docker commands.
Huh? Where did you get this code? Why are you running that? This doesn’t look like it does anything you want to do.