Skip to content

Commit 060c4bb

Browse files
committed
Rebase to noble, add optional cli_args
1 parent 5b2cd28 commit 060c4bb

5 files changed

Lines changed: 19 additions & 14 deletions

File tree

Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
3+
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
44

55
# set version label
66
ARG BUILD_DATE
@@ -9,7 +9,7 @@ ARG FOLDINGATHOME_RELEASE
99
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
1010
LABEL maintainer="aptalca"
1111

12-
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
12+
#Add needed nvidia environment variables for container toolkit
1313
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
1414

1515
# global environment settings
@@ -28,6 +28,7 @@ RUN \
2828
/tmp/fah.deb -L \
2929
${download_url} && \
3030
dpkg -x /tmp/fah.deb /app && \
31+
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
3132
echo "**** cleanup ****" && \
3233
apt-get clean && \
3334
rm -rf \

Dockerfile.aarch64

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22

3-
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
3+
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble
44

55
# set version label
66
ARG BUILD_DATE
@@ -9,7 +9,7 @@ ARG FOLDINGATHOME_RELEASE
99
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
1010
LABEL maintainer="aptalca"
1111

12-
#Add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
12+
#Add needed nvidia environment variables for container toolkit
1313
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
1414

1515
# global environment settings
@@ -28,6 +28,7 @@ RUN \
2828
/tmp/fah.deb -L \
2929
${download_url} && \
3030
dpkg -x /tmp/fah.deb /app && \
31+
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
3132
echo "**** cleanup ****" && \
3233
apt-get clean && \
3334
rm -rf \

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ There are a couple of minor issues with the webgui:
7272
### Nvidia
7373

7474
Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
75-
https://github.com/NVIDIA/nvidia-docker
76-
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-docker is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the foldingathome docker container.
75+
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
76+
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia container toolkit is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the foldingathome docker container.
7777

7878
## Usage
7979

@@ -91,6 +91,7 @@ services:
9191
- PUID=1000
9292
- PGID=1000
9393
- TZ=Etc/UTC
94+
- CLI_ARGS= #optional
9495
volumes:
9596
- /path/to/data:/config
9697
ports:
@@ -107,6 +108,7 @@ docker run -d \
107108
-e PUID=1000 \
108109
-e PGID=1000 \
109110
-e TZ=Etc/UTC \
111+
-e CLI_ARGS= `#optional` \
110112
-p 7396:7396 \
111113
-p 36330:36330 `#optional` \
112114
-v /path/to/data:/config \
@@ -125,6 +127,7 @@ Containers are configured using parameters passed at runtime (such as those abov
125127
| `-e PUID=1000` | for UserID - see below for explanation |
126128
| `-e PGID=1000` | for GroupID - see below for explanation |
127129
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
130+
| `-e CLI_ARGS=` | Optionally pass additional cli arguments to `FAHClient` on container start. |
128131
| `-v /config` | Where Folding@home should store its database and config. |
129132

130133
## Environment variables from files (Docker secrets)
@@ -288,6 +291,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
288291

289292
## Versions
290293

294+
* **15.06.24:** - Rebase to Ubuntu Noble, add optional cli args.
291295
* **14.12.22:** - Rebase to Ubuntu Jammy, migrate to s6v3.
292296
* **15.01.22:** - Rebase to Ubuntu Focal. Add arm64v8 builds (cpu only). Increase verbosity about gpu driver permission settings.
293297
* **09.01.21:** - Add nvidia.icd.

readme-vars.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ common_param_env_vars_enabled: true
2121
param_container_name: "{{ project_name }}"
2222
param_usage_include_net: false
2323
param_usage_include_env: true
24-
param_env_vars:
25-
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
2624
param_usage_include_vols: true
2725
param_volumes:
2826
- { vol_path: "/config", vol_host_path: "/path/to/data", desc: "Where Folding@home should store its database and config." }
@@ -34,17 +32,16 @@ cap_add_param: false
3432
cap_add_param_vars: ''
3533

3634
# optional container parameters
37-
opt_param_usage_include_env: false
35+
opt_param_usage_include_env: true
3836
opt_param_env_vars:
37+
- { env_var: "CLI_ARGS", env_value: "", desc: "Optionally pass additional cli arguments to `FAHClient` on container start." }
3938
opt_param_usage_include_vols: false
4039
opt_param_usage_include_ports: true
4140
opt_param_ports:
4241
- { external_port: "36330", internal_port: "36330", port_desc: "Optional port for connecting remotely via FAHControl app (no password)." }
4342
opt_param_device_map: false
4443
opt_param_devices:
4544
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your Intel GPU (vaapi)." }
46-
opt_cap_add_param: false
47-
optional_block_1: false
4845

4946
# application setup block
5047
app_setup_block_enabled: true
@@ -62,11 +59,12 @@ app_setup_block: |
6259
### Nvidia
6360
6461
Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here:
65-
https://github.com/NVIDIA/nvidia-docker
66-
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-docker is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the foldingathome docker container.
62+
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
63+
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia container toolkit is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the foldingathome docker container.
6764
6865
# changelog
6966
changelogs:
67+
- { date: "15.06.24:", desc: "Rebase to Ubuntu Noble, add optional cli args." }
7068
- { date: "14.12.22:", desc: "Rebase to Ubuntu Jammy, migrate to s6v3." }
7169
- { date: "15.01.22:", desc: "Rebase to Ubuntu Focal. Add arm64v8 builds (cpu only). Increase verbosity about gpu driver permission settings." }
7270
- { date: "09.01.21:", desc: "Add nvidia.icd." }

root/etc/s6-overlay/s6-rc.d/svc-foldingathome/run

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
exec \
55
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 7396" \
66
cd /config s6-setuidgid abc /app/usr/bin/FAHClient \
7-
--http-addresses 0.0.0.0:7396 --allow 0/0 --web-allow 0/0 --command-allow-no-pass 0/0
7+
--http-addresses 0.0.0.0:7396 --allow 0/0 --web-allow 0/0 --command-allow-no-pass 0/0 \
8+
$CLI_ARGS

0 commit comments

Comments
 (0)