BOINC: donating compute
Ever since, but especially since my RAM and CPU upgrade, my server sits idle 💤 pretty much all the time. So I thought: can’t I donate my compute resources? For a long time, especially during COVID 😷, I actually did the same with my iPhone 📱. The Vodafone Foundation has brought out the DreamLab application. It essentially computes exiting stuff like COVID research 🧪 on your smartphones (yes! It is a computer) CPU and GPU (and NNU?).
So I sought to find a similar thing, but Docker 🐳 based and for x86
architectures.
And I found it in BOINC 🎉.
Setting it up through docker-compose
wasn’t 100% trivial, especially because of the ports and rather poor documentation on that end.
And probably because I wanted some parts of this to go through my reverse proxy.
But eventually, I got it to work.
The Docker 🐳 stack is published in my dockerfiles
repo here.
The stack is based on the official boinc
client Docker 🐳 image.
And now: I have 100% CPU utilization 🥵😅🎉:
Right now, the only workload I could find was from the project World Community Grid, an early initiative by IBM Corporate Social Responsibility.
I would also like to contribute to (i.e. compute for 😏) Rosetta@home, but there were no CPU tasks ready at the time of setup.
Oh, and this also means that my power consumption went from ~120 W to 240W ⚡🔋. So at 26 ct/kWh (yes, Ökostrom) that is roughly 250 💶 per year 🙈.
On ports
Like I said earlier, configuring the ports wasn’t trivial.
I first started out by simply exposing the default BOINC port 31416
through the reverse proxy Traefik at https://boinc.patz.app
.
However, that doesn’t work and this isn’t how it is intended.
It seems, that the traffic shall not be encrypted and thus not be resolved by the reverse proxy.
I now opened the ports on my router and pipe them to the container.
You can see this in the configuration here:
Update: I closed the ports on the router again, because that’s really not required. And every unnecessarily open port is an unnecessary security risk 🤷♂️.