Republished on my website, keeping this version here for historical reasons.
Install FAHClient as documented in the official guide. Stop the traditional init script service that was created and automatically started.
$ sudo /etc/init.d/FAHClient stopMove the init script to another location. Path /usr/local/bin can be changed,
but be sure to use the correct path in the service unit file of the next step.
$ sudo mv /etc/init.d/FAHClient /usr/local/binCopy the contents of the gist Systemd service unit for Folding@Home
Client into (a new)
file /etc/systemd/system/fahclient.service. File contents included here:
[Unit]
Description=Folding@Home V7 Client
Documentation=https://folding.stanford.edu/home/the-software/
[Service]
Type=simple
PIDFile=/var/run/fahclient.pid
ExecStart=/usr/local/bin/FAHClient -v start
ExecReload=/usr/local/bin/FAHClient -v restart
ExecStop=/usr/local/bin/FAHClient -v stop
KillMode=process
[Install]
WantedBy=multi-user.targetThen update its ownership and permissions as below
$ sudo chown root:root /etc/systemd/system/fahclient.service
$ sudo chmod u=rw,go=r /etc/systemd/system/fahclient.serviceThe systemd service unit for FAHClient is installed. Reload systemd manager configuration
$ sudo systemctl daemon-reloadQuery the status of service unit.
$ sudo systemctl status --full fahclient.serviceStart and stop as a regular systemd service
$ sudo systemctl stop fahclient.service
$ sudo systemctl start fahclient.serviceFolding@home is a distributed computing project for disease research that simulates protein folding, computational drug design, and other types of molecular dynamics. See also the Volunteer Computing page.
Here's systemd unit file for 7.6.x on Debian 10:
I haven't noticed any weirdness with it not stopping properly or something like that.
Couple of notes:
Setting
WorkingDirectory=/var/lib/fahclientin unit file does not work. It either kind of started for me, but FAHControl (or web ui) would not connect to it, or it just died as it was unable to write to log.txt. Passing--chdir /var/lib/fahclientmakes it work.As mentioned above - I had to change PID file path to
/run/fahclient.pid(on Debian 10 there's a symlink/var/run -> /run).