yurinnick / folding-at-home-docker Goto Github PK
View Code? Open in Web Editor NEWUnofficial Folding@Home Docker Image
Home Page: https://hub.docker.com/r/yurinnick/folding-at-home
License: GNU General Public License v3.0
Unofficial Folding@Home Docker Image
Home Page: https://hub.docker.com/r/yurinnick/folding-at-home
License: GNU General Public License v3.0
How do you recommend setting CPU limits? I'm not running docker swarm, so I'm using docker-compose version 2 configs instead of version 3.
Theres a lot of options listed at https://docs.docker.com/compose/compose-file/compose-file-v2/#cpu-and-other-resources, and I'm not sure what is optimal to use. I'm thinking cpus, cpu_shares, and cpuset should be enough.
There's also a slider in the web UI. Is that maybe available as a flag?
Hello, I have an issue when I try to start the docker container with the client.db I have the following error:
ERROR:Exception: Failed to open database 'work/client.db': unable to open database file
Command for launch:
docker run -d --name folding-at-home -p 7396:7396 -p 36330:36330 -e USER=Test -e TEAM=0 -e ENABLE_GPU=false -e ENABLE_SMP=true -e POWER=full -v /home/test/fah:/opt/fahclient/work --restart unless-stopped yurinnick/folding-at-home:latest --allow 0/0 --web-allow 0/0
Do you have any idea ? Thanks
While trying to set the power level using the environment var POWER,
It seems to be ignored.
My compose file:
version: "2.4"
networks:
proxy:
external: true
services:
folding-at-home:
image: yurinnick/folding-at-home
container_name: folding-at-home
networks:
- proxy
command: ["--allow=0/0", "--web-allow=0/0"] # Allow connections from non-localhost ip addresses
volumes:
- ~/homelab_data/folding:/opt/fahclient/work
environment:
- USER=plateofash
- TEAM=0
- ENABLE_GPU=false
- ENABLE_SMP=true
- POWER=light
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.folding-at-home.entrypoints=http"
- "traefik.http.routers.folding-at-home.rule=Host(`folding.${DOMAIN}`)"
- "traefik.http.services.folding-at-home.loadbalancer.server.port=7396"
However, after starting and analysing the logs, I see the power passed to FAHClient is "full"
05:01:54: Args: --user=plateofash --team=0 --passkey= --gpu=false --smp=true
05:01:54: --power=full --gui-enabled=false --allow=0/0 --web-allow=0/0
From within the container, the env variable is set.
folding@d40eac954e68:/opt/fahclient$ echo $POWER
light
I've also tried with and without quotations.
If others are having this issue, the built in docker resource limitations work perfectly and is what I have resorted to.
I'm having issues passing the options for configuring multiple CPU slots, as it seems most GROMACS work units crash when allocated more than 16 cores. Is there a way to pass all of the config information from a config file?
Hello! Thanks for your Dockerfile. I mixed it with the BOINC Nvidia Dockerfile to create one with Nvidia GPU access: https://github.com/wandhydrant/folding-at-home-docker-gpu
I had to change the base image to Nvidia's Ubuntu image. Do you want me to make a PR here?
Just did a fresh run of this- looks like FAH is having trouble finding libcuda.so
14:41:19:****************************** FAHClient ******************************
14:41:19: Version: 7.6.9
14:41:19: Author: Joseph Coffland <[email protected]>
14:41:19: Copyright: 2020 foldingathome.org
14:41:19: Homepage: https://foldingathome.org/
14:41:19: Date: Apr 17 2020
14:41:19: Time: 18:11:26
14:41:19: Revision: 398c2b17fa535e0cc6c9d10856b2154c32771646
14:41:19: Branch: master
14:41:19: Compiler: GNU 8.3.0
14:41:19: Options: -std=c++11 -ffunction-sections -fdata-sections -O3 -funroll-loops
14:41:19: -fno-pie
14:41:19: Platform: linux2 4.19.0-5-amd64
14:41:19: Bits: 64
14:41:19: Mode: Release
14:41:19: Args: --user=yakkonaut --team=258678
14:41:19: --passkey=******************************** --gpu=true --smp=true
14:41:19: --power=full --gui-enabled=false --web-allow 0/0 --allow 0/0
14:41:19:******************************** CBang ********************************
14:41:19: Date: Apr 17 2020
14:41:19: Time: 18:10:13
14:41:19: Revision: 2fb0be7809c5e45287a122ca5fbc15b5ae859a3b
14:41:19: Branch: master
14:41:19: Compiler: GNU 8.3.0
14:41:19: Options: -std=c++11 -ffunction-sections -fdata-sections -O3 -funroll-loops
14:41:19: -fno-pie -fPIC
14:41:19: Platform: linux2 4.19.0-5-amd64
14:41:19: Bits: 64
14:41:19: Mode: Release
14:41:19:******************************* System ********************************
14:41:19: CPU: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
14:41:19: CPU ID: GenuineIntel Family 6 Model 78 Stepping 3
14:41:19: CPUs: 4
14:41:19: Memory: 15.41GiB
14:41:19:Free Memory: 12.62GiB
14:41:19: Threads: POSIX_THREADS
14:41:19: OS Version: 4.18
14:41:19:Has Battery: true
14:41:19: On Battery: false
14:41:19: UTC Offset: 0
14:41:19: PID: 7
14:41:19: CWD: /opt/fahclient
14:41:19: OS: Linux 4.18.0-147.8.1.el8_1.x86_64 x86_64
14:41:19: OS Arch: AMD64
14:41:19: GPUs: 0
14:41:19: CUDA: Not detected: Failed to open dynamic library 'libcuda.so':
14:41:19: libcuda.so: cannot open shared object file: No such file or
14:41:19: directory
14:41:19: OpenCL: Not detected: clGetPlatformIDs() returned -1001
14:41:19:******************************* libFAH ********************************
14:41:19: Date: Apr 15 2020
14:41:19: Time: 21:43:24
14:41:19: Revision: 216968bc7025029c841ed6e36e81a03a316890d3
14:41:19: Branch: master
14:41:19: Compiler: GNU 8.3.0
14:41:19: Options: -std=c++11 -ffunction-sections -fdata-sections -O3 -funroll-loops
14:41:19: -fno-pie
14:41:19: Platform: linux2 4.19.0-5-amd64
14:41:19: Bits: 64
14:41:19: Mode: Release
14:41:19:***********************************************************************
14:41:19:<config>
14:41:19: <!-- Folding Slots -->
14:41:19:</config>
14:41:19:Trying to access database...
14:41:19:Successfully acquired database lock
14:41:19:FS00:Set client configured
14:41:19:Enabled folding slot 00: READY cpu:4
I jumped in to the container just for sanity...
$ ls
CHANGELOG.md FAHCoreWrapper copyright entrypoint.sh log.txt work
FAHClient README.md cores images sample-config.xml
$ nvidia-smi
/bin/sh: 2: nvidia-smi: not found
$ find / | grep libcuda
/usr/local/cuda-10.2/compat/libcuda.so.440.33.01
/usr/local/cuda-10.2/compat/libcuda.so.1
/usr/local/cuda-10.2/compat/libcuda.so
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudart.so.10.2.89
/usr/local/cuda-10.2/targets/x86_64-linux/lib/libcudart.so.10.2
find: '/proc/tty/driver': Permission denied
$ echo $path
$ echo $PATH
/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ whoami
folding
$ ls -lah /usr/local/cuda-10.2/compat/libcuda.so
lrwxrwxrwx. 1 root root 12 Nov 13 21:32 /usr/local/cuda-10.2/compat/libcuda.so -> libcuda.so.1
I'll keep digging to see if I can resolve, but figured I would raise this for awareness.
How can I run this image behind a proxy?
A few times now I've had my F@H lose some of my points after restarting the Docker container; do you have any idea why that would happen? It's not all of my points; last time it went from ~2.5M to ~2.1M. I would expect any progress on current jobs to be lost, but my understanding is the points are for past jobs already submitted to the server.
I'm using @wandhydrant's GPU-enabled image (from before it was merged back into this repo), in case that makes a difference. I also pass the username and team number to the container at startup, and then enter my passcode manually in the UI. It doesn't seem like that should make a difference, but I think I'll try giving the passcode at startup too, just in case.
Interestingly, my F@H stats page still shows the higher number, so maybe my client isn't pulling that properly for some reason?
Any idea why this is happening? Does this even sound like a problem with the Docker image, or should I talk to F@H directly?
why this thing always come back to my flux nodes and use my cpu without my consent ??
how to stop this definitly ?
thanks.
10:21:32:WU00:FS00:Connecting to 65.254.110.245:8080
10:21:33:WARNING:WU00:FS00:Failed to get ID from '65.254.110.245:8080': 10001: Server responded: HTTP_FORBIDDEN
10:21:33:WU00:FS00:Connecting to 18.218.241.186:80
10:21:33:WARNING:WU00:FS00:Failed to get ID from '18.218.241.186:80': 10001: Server responded: HTTP_FORBIDDEN
10:21:33:ERROR:WU00:FS00:Exception: Could not get an assignment ID
10:21:34:WU00:FS00:Connecting to 65.254.110.245:8080
10:21:34:WARNING:WU00:FS00:Failed to get ID from '65.254.110.245:8080': 10001: Server responded: HTTP_FORBIDDEN
10:21:34:WU00:FS00:Connecting to 18.218.241.186:80
10:21:35:WARNING:WU00:FS00:Failed to get ID from '18.218.241.186:80': 10001: Server responded: HTTP_FORBIDDEN
10:21:35:ERROR:WU00:FS00:Exception: Could not get an assignment ID
^Zbg
10:22:32:Saving configuration to config.xml
10:22:32:<config>
10:22:32: <!-- Folding Slots -->
10:22:32: <slot id='0' type='CPU'/>
10:22:32:</config>
10:22:34:WU00:FS00:Connecting to 65.254.110.245:8080
10:22:34:WARNING:WU00:FS00:Failed to get ID from '65.254.110.245:8080': 10001: Server responded: HTTP_FORBIDDEN
10:22:34:WU00:FS00:Connecting to 18.218.241.186:80
10:22:34:WARNING:WU00:FS00:Failed to get ID from '18.218.241.186:80': 10001: Server responded: HTTP_FORBIDDEN
10:22:34:ERROR:WU00:FS00:Exception: Could not get an assignment ID
10:24:11:WU00:FS00:Connecting to 65.254.110.245:8080
10:24:11:WARNING:WU00:FS00:Failed to get ID from '65.254.110.245:8080': 10001: Server responded: HTTP_FORBIDDEN
10:24:11:WU00:FS00:Connecting to 18.218.241.186:80
10:24:11:WARNING:WU00:FS00:Failed to get ID from '18.218.241.186:80': 10001: Server responded: HTTP_FORBIDDEN
10:24:11:ERROR:WU00:FS00:Exception: Could not get an assignment ID
While running on openSUSE/Tumbleweed with Docker 19.03.5:
matej@milic:~> docker version
Client:
Version: 19.03.5
API version: 1.40
Go version: go1.12.15
Git commit: 633a0ea838f1
Built: Thu Dec 19 00:00:00 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.15
Git commit: 633a0ea838f1
Built: Thu Dec 19 00:00:00 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.1.5_catatonit
GitCommit:
matej@milic:~>
Hello!
Currently you have version="v7.5"
in your Dockerfile. Right now they published 7.6.9. Is there a reason for staying on 7.5 ?
opt/fahclient/entrypoint.sh\": permission denied": unknown
ERROR: for folding-at-home Cannot start service folding-at-home: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"/opt/fahclient/entrypoint.sh\": permission denied": unknown
ERROR: Encountered errors while bringing up the project.
Thanks for providing this image. Just a heads up that the link you've set for the repo is the one which requires you to authenticate first to docker hub. I'd suggest instead you use the publicly accessible one of: https://hub.docker.com/r/yurinnick/folding-at-home
It'll make it more accessible to people. ;)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.