Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/FoldingAtHome/containers

Docker containers for easily launching the Folding@home client anywhere!
https://github.com/FoldingAtHome/containers

Last synced: 5 days ago
JSON representation

Docker containers for easily launching the Folding@home client anywhere!

Awesome Lists containing this project

README

        

# Official Folding@home Containers

The official Folding@home containers are designed to be simple and run
in any container environment - desktop, laptop, Kubernetes, Helm,
Docker Compose, OpenShift, Cloud...

Containers track stable versions (2 weeks with no found bugs) of the
Folding@home Client. They will run on any Linux distribution, and are based
on LTS version of Ubuntu, OpenCL, and CUDA libraries. They contain enough
utilities to exec in and be able to debug any problems.

## Containers

* GPU container (NVIDIA) - [fah-gpu](fah-gpu/)
* GPU container (AMD) - [fah-gpu-amd](fah-gpu-amd/)

## Deployments

This repo will also contain Helm templates and other deployment
scripts/tools for a variety of environments.

## Folding@home Container Design Rules

* Containers will mount all read-write state, including config.xml
which also has client state, into `/fah/`.
* Containerized clients will output to stdout/sterr for container logs.
* Containers are designed to be monitored via logs, and controlled with files.
* No example configurations will expose ports, and that functionality will
be configured off in examples. Folding@home was built to run on
desktops/LANs, and currently should not be exposed to the internet.

## Operating Containers

Each of these is explained in the container README, but they are included here
for clarity. RFC 2119 meanings.

* MUST mount read-writable persistent storage to `/fah` of the running
container. Running containers MUST NOT share the same mounted directory,
but directories SHOULD be reused to avoid lost Work Units.
* MUST create and preload a tuned `config.xml` in each persistent
storage directory before running the container for the first time.
* MUST run the container as a uid:gid, specified with with `--user` or
equivalent, so that the running container has read-write permissions to
the persistent storage in `/fah`.
* SHOULD NOT run containers as root.
* SHOULD NOT expose ports to internet without firewall rules, encryption, and
strong passwords.

## Tags

The Folding@home client versioning is mostly SemVer, but depends on OpenMM,
CUDA, and other dependencies.
[Calendar Versioning](https://calver.org/) (CalVer), is used
starting with 21.11.0 following the YY.0M.MICRO format:

* `YY.0M.MICRO` - follows month of release.
* `YY.0M.MICRO-rc...` - test builds of the containers, stable clients.
* `latest` - please never use latest in production, specify a version. Points
at the latest released container.

## Folding@home Websites

* Folding@home:
* Folding@home Support Forum:
* Folding@home Containers GitHub:
* Folding@home Docker Hub: