A lightweight BOINC client Docker container for ARMv6 32-bit architecture like Raspberry Pi Zero W
10K+
A lightweight BOINC client Docker container for ARMv6 32-bit architecture like Raspberry Pi Zero W
This repo is part of a fun project to make a Pi Zero Docker cluster with four Pi Zero's. BOINC does only publish a ARMv7 32-bit client which means you have to build your own. I first tried this with a Alpine base image but at the time of writing a Raspbian 32-bit host does not support the new time64 fix for the 2038 problem. Next I tried to use the Docker images of resin/rpi-raspbian but they are tagged as AMD64 and will only start at a single Pi but not in a swarm. So I extracted the files of the buster image, removed a lot of not needed documentation and used that as a base for this build.
You can use this image to run Docker in Swarm mode with the following commands without the # comments:
# One time
docker swarm init
docker network create -d overlay --attachable boinc
# Every service start
docker service create \
--replicas <N> \ # Number of instances
--name boinc \
--network=boinc \
--mount type=volume,source=boinc,destination=/var/lib/boinc \ # Create persistent storage to save your work
--replicas-max-per-node 1 \ # You can only have one BOINC persistent storage per node
-p 31416:31416 \
-e BOINC_REMOTE_HOST="0.0.0.0" \ # Default the whole internet. Limit it to your own taste.
-e BOINC_GUI_RPC_PASSWORD="123" \ # Choose your own
-e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \
-e TZ=UTC \ # Default is UTC
synoniem/boinc-pi-zero
You can send commands to the cluster by using the boinccmd_swarm command which will execute boinccmd at every running instance. As a example adding your project to the running containers use:
docker run --rm --network boinc synoniem/boinc-pi-zero boinccmd_swarm --passwd 123 --project_attach https://project.url account_key
More information about the boinccmd command is available at https://boinc.berkeley.edu/wiki/Boinccmd_tool
To build your own image clone my github repo https://github.com/synoniem/boinc-pi-zero and execute the following command:
docker build . --platform linux/arm/v6 -t tagname
To launch your own image as a service you need to push it to a registry which is reachable from the clients. For details look at the Docker documentation.
Content type
Image
Digest
Size
74.7 MB
Last updated
over 5 years ago
docker pull synoniem/boinc-pi-zero