Skip to content

Folding@Home

Folding@home is a distributed computing project aimed to help scientists develop new therapeutics for a variety of diseases by the means of simulating protein dynamics. This includes the process of protein folding and the movements of proteins, and is reliant on simulations run on volunteers' personal computers

egg-folding-home.json

updated

Ports

Add an allocation on the node for each port.

  • FAHControl 36330

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Install script
43 lines

Image

  • Debian ghcr.io/ptero-eggs/yolks:debian

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

7 variables

Startup command

./FAHClient --user=Anonymous --team=0 --passkey={{FAH_PASSKEY}} $(if true; then echo "--fold-anon=true"; fi) --command-port=36330 --password=SetPasswordHere --power=medium

Dotted values come from the server settings. These values are examples.

  • Your Folding@Home Username

    FAH_USERNAMEUsers can edit

    required|string

  • Your Folding@Home Team that you are folding for. For reference look here: https://stats.foldingathome.org/team

    FAH_TEAMUsers can edit

    required|int

  • Your Folding@Home Passkey for your Username, if not Anonymous. Get your Passkey here: https://apps.foldingathome.org/getpasskey

    FAH_PASSKEYUsers can edit

    nullable|string|max:32

  • Set to true if you are folding Anonymously

    FAH_ANONUsers can edit

    required|string|in:true,false

  • Set to wanted major Folding@Home Version. Check here: https://download.foldingathome.org/releases/v7/public/fahclient/debian-stable-64bit/release/

    FAH_VERSIONUsers can edit

    required|string|max:20

  • Set a WebUI Password

    FAH_PASSWORDUsers can edit

    required|string|max:64

  • The Powerlevel it should use: - light (only half the cpu power is used) - medium (full cpu power) - full (full cpu and gpu power but gpu is not supported)

    FAH_POWERUsers can edit

    required|string|in:light,medium,full

Wings

Stop command
^^C
Running when the console shows
Started FahCore

Readme

Folding@Home

Folding@Home is a distributed computing project aimed at simulating protein folding and other molecular dynamics.

User Account

You can setup an User Account to track your PPD (Points per Day) and done WUs (Work Units). To get a Passkey visit the Folding@home Passkey Site

Teams

You can add your earned Points to a Team that you support. This is not nessesary as the points are just to track how much work was done (with some exeptions). Here is the full List of the Teams

Remote Control

You can connect via FAHControl to your instance. WebUI is not supported because it wouldn't be password protected.

CPU Usage Control

There are three power modes:

  • light
  • medium
  • full

Only light and medium are useful because full enables gpu which is not supported in this egg. Light uses half of the available cpu cores of your system. Full uses all of your cpu cores. You can still limit the cpu usage via the panel.

Supported Versions

Versions < v8 are supported. v8 is still beta and wont work with this egg. Get the latest v7 version number here: Folding@Home Downloadserver

Server Ports

Port default
FAHControl 36330

Changes

  1. Replace docker images

    · Daniel Barton · 3759ed6

  2. Add software

    · rowansc1 · 9b56a00

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 43 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/bin/bash
#
# Folding@Home install script
#
# Created by Fuggschen

export DEBIAN_FRONTEND=noninteractive
ARCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "64bit" || echo "arm64")
cd /tmp

echo "Removing previous Version"
mv /mnt/server/config.xml /tmp/config.xml
rm -rf /mnt/server/*

echo "Installing dependencies"
apt update && apt upgrade -y && apt install curl bzip2 -y

echo "Downloading FAHClient"
curl -sSL -o fahclient.tar.bz2 https://download.foldingathome.org/releases/v7/public/fahclient/debian-stable-${ARCH}/release/fahclient_${FAH_VERSION}-64bit-release.tar.bz2

echo "Installing FAHClient"
tar -xjf fahclient.tar.bz2 -C /mnt/server --strip-components=1

echo "Cleaning up.."
rm -f fahclient.tar.bz2
rm -f /mnt/server/sample-config.xml
mv /tmp/config.xml /mnt/server/config.xml

FILE=/mnt/server/config.xml
if [[ ! -f  $FILE ]]
then
echo "Setting up config.xml"
cat > $FILE << EOF
<config>
  <!-- Folding Slots -->
  <slot id='0' type='CPU'/>
  <!-- Maximum CPU Cores to use. Can't be more than 64 -->
  <cpus v='64'/>
</config>
EOF
fi

echo "Done!"