DEV Community

Ameya Shenoy
Ameya Shenoy

Posted on

Dockerized folding@home client, with NVIDIA GPU support to help fight COVID-19


License
Docker Pulls
Docker Image Size (tag)
Docker Image CI

Folding@home (FAH or F@h) is a distributed computing project for simulating protein dynamics, including the process of protein folding and the movements of proteins implicated in a variety of diseases. It brings together citizen scientists who volunteer to run simulations of protein dynamics on their personal computers. Insights from this data are helping scientists to better understand biology, and providing new opportunities for developing therapeutics.

Usage

  • CPU only
docker run -it --rm -d \
  --name fahclient \
  -p 7396:7396 \
  codingcoffee/fahclient \
  --allow 0/0  \
  --web-allow 0/0
  • CPU and GPU
docker run -it --rm -d \
  --name fahclient \
  --gpus all \
  -p 7396:7396 \
  -e ENABLE_GPU=true \
  codingcoffee/fahclient \
  --allow 0/0  \
  --web-allow 0/0

You can also visit the web dashboard by visiting http://localhost:7396 in your browser.

GPU Support

Since this image uses nvidia/cuda as it's base image, to use the GPU support, you'll need to have an NVIDIA GPU, and NVIDIA Container Toolkit installed on your system.

List of usable environment variables

Environment Varible Value Default
USER your username Anonumous
TEAM your team name 0
PASSKEY your passkey
ENABLE_GPU true/false false
ENABLE_SMP true/false true
POWER full/medium/light full

FAQ

Q: How can I use this with Docker Compose?

A: Well, you can use it with docker compose if you don't want the GPU support. This is because docker compose still doesn't have the a way to specify the --gpu flag, or atleast I wasn't able to figure it out. If you did, open a issue / send a PR with the docker-compose.yml file.

Logs

To get the logs of the running container

docker logs -f fahclient

Build

To build the image locally

docker build -t codingcoffee/fahclient .

Contribution

Have better suggestions to optimize the image? Found some typos? Go ahead and send in a Pull Request! Contributions of any kind welcome!

LICENSE

The code in this repository has been released under the GNU General Public License v3

Top comments (0)