symbol-bootstrap
symbol-bootstrap copied to clipboard
Allow Raspberrypi deployments
Is your feature request related to a problem? Please describe. When I would deploy bootstrap in Raspberrypi, This happens error after pulling image.
Describe the solution you'd like I would like to have a wonderful experience on Rasberrypi.
Describe alternatives you've considered I tried to rewrite the preset yml file, but the docker image file did not support it.
Additional context
2020-10-10T17:33:56.541Z 32minfo 39m [SYSTEM_LOG] Running image using Exec: symbolplatform/symbol-server:tools-gcc-0.10.0.3 bash createCertificate.sh
Error: Command failed: docker run --rm -u 0:0 --workdir=/data --env
LD_LIBRARY_PATH=/usr/catapult/lib:/usr/catapult/deps -v /opt/symbol-bootst
rap/target/nodes/api-node/userconfig/resources/cert:/data:rw
symbolplatform/symbol-server:tools-gcc-0.10.0.3 "bash"
"createCertificate.sh"
standard_init_linux.go:211: exec user process caused "exec format error"
Code: 1
Pull Requests are considered!
I think this is a question - build and compile for Docker. We have compiled from source for Raspberry PAY4 4GB. Works. We are testing.
PT ELEM TOT : 0 | PT WRITERS : 0 | RB COMMIT ALL : 0 | RB COMMIT RCT : 0 |
RB IGNORE ALL : 0 | RB IGNORE RCT : 0 | READERS : 1 | SECRETLOCK C : 0 |
SUCCESS PINGS : 0 | TASKS : 18 | TOT CONF TXES : 33 | TOTAL PINGS : 0 |
TS NODE AGE : 6 | TS OFFSET ABS : 0 | TS OFFSET DIR : 0 | TS TOTAL REQ : 0 |
TX ELEM ACT : 0 | TX ELEM TOT : 0 | UNLKED ACCTS : 1 | UT CACHE : 0 |
WRITERS : 0 |
2020-11-19 23:27:13.807972 0x0000ffff9c0441c0:
Benchmark Tool Initializing Logging...
2020-11-19 23:27:26.093401 0x0000ffffb9f48440:
Model : Raspberry Pi 4 Model B Rev 1.1 aarch64 Model name: Cortex-A72 root@ubuntu:~/catapult-server/_build/bin#
Upd: OS Ubuntu 20.04 GCC-10.2
Hi team, thank you for raising this issue and I'm sorry for the delay in the responses.
I would like to add support for Raspberrypi but I'm not experienced enough yet and I don't have time atm. I'll have more time after the symbol release.
Any information you provide would be appreciated.
Are you planning to run docker/docker-compose inside the Pi box? Or is it better to run catapult server directly in the Pi box (from barebone)?
What could happen is that you have a dev machine where you do the symbol-bootstrap config
setup, once you have the configuration you want it could be possible to push the configuration/target folder into a Pi box. The Pi could run catapult server from the binaries
- Dev could compile server on the PI box.
- Dev could compile on the dev box and copy it over to the PI box.
- Having a Pi ready pre-compiled catapult server on an artifact repository like Conan to pull binaries from.
Once we have designed a solution, bootstrap could add commands to push the configuration and/or binaries into a remote box (like PI). Bootstrap can configure the path where the binaries and extensions are loaded from.
In my mind, one PI box would run one node (probably only peer), it won't run rest or multiples nodes/databases like with regular bootstrap compose.
@CrackTheCode016 @Jaguar0625 any input is appreciated
Ideally, we would have images for ARM ready out of the box, via something like the snap store (a common method of retrieving packages in the IoT space). The other option is to use conan to compile for the Pi, and as Fernando said, push those images to be run to the Pi. I'm thinking something like ngnix, where the config files live somewhere like /etc/symbol
and the binaries use those to run.
It is also possible to run a full, dual node on the Pi, with Mongo and REST as well. However, Mongo tends to be memory hungry, so the 8GB version of the Pi should work the best in this case. I do not think docker should be used in this case, mostly for its lack of ARM support and potential instability.
Run it stably on raspberrypi, so I think the build method is good. I want a procedure to connect to a public-test or public network in the case of build.
I built a catapult server based on the URL below, but it has not reached normal operation and I feel that the settings are missing. https://github.com/nemtech/catapult-server/blob/main/docs/RUNNETWORKLIN.md