Running BOINC is cool, but inside a Docker container is coolest!
-
1.0.3
,1.0
,latest
- (Dockerfile) - CHANGELOG -
1.0.2
- (Dockerfile) - CHANGELOG -
1.0.1
- (Dockerfile) - CHANGELOG -
1.0.0
- (Dockerfile) - CHANGELOG
$ docker build -t boinc .
$ cp .env.dist .env
$ docker run -d \
--name boinc \
-p 31416:31416 \
--pid=host \
--env-file=.env \
-v boinc_data:/opt/boinc \
boinc
# Attach to a BOINC project:
$ docker exec boinc boinccmd --project_attach <project_url> <token>
The docker-compose.yaml
on this repo is a full functional example.
Can you quickly launch your BOINC container with:
$ docker-compose up -d
CC_* variables references over cc_config.xml
file
-
CC_CONFIG_OPTIONS_NO_GPUS
-
CC_CONFIG_LOG_CPU_SCHED
-
CC_CONFIG_LOG_HTTP_DEBUG
-
CC_CONFIG_LOG_NETWORK_STATUS_DEBUG
More info about cc_config.xml on the BOINC Wiki
For each environment variable not set, BOINC will use the value from the project web site or the default one.
GP_* variables references over global_prefs_override.xml
file
-
GP_RUN_ON_BATTERIES
Sets
run_on_batteries
(1 or 0) -
GP_RUN_USER_ACTIVE
Sets
run_user_active
(1 or 0) -
GP_RUN_GPU_USER_ACTIVE
Sets
run_gpu_user_active
(1 or 0) -
GP_LEAVE_APPS_MEMORY
Sets
leave_apps_memory
(1 or 0) -
GP_SUSPEND_CPU_USAGE
Sets
suspend_cpu_usage
(from 0.000000 to 100.000000) -
GP_MAX_NCPUS_PCT
Sets
max_ncpus_pct
(from 0.000000 to 100.000000) -
GP_CPU_USAGE_LIMIT
Sets
cpu_usage_limit
(from 0.000000 to 100.000000) -
GP_CPU_SCHEDULING_PERIOD_MINUTES
Sets
cpu_scheduling_period_minutes
(number) -
GP_DISK_INTERVAL
Sets
disk_interval
(number) -
GP_DISK_MAX_USED_GB
Sets
disk_max_used_gb
(number) -
GP_DISK_MAX_USED_PCT
Sets
disk_max_used_pct
(from 0.000000 to 100.000000) -
GP_RAM_MAX_USED_BUSY_PCT
Sets
ram_max_used_busy_pct
(from 0.000000 to 100.000000) -
GP_RAM_MAX_USED_IDLE_PCT
Sets
ram_max_used_idle_pct
(from 0.000000 to 100.000000) -
GP_MAX_BYTES_SEC_UP
Sets
max_bytes_sec_up
(number) -
GP_MAX_BYTES_SEC_DOWN
Sets
max_bytes_sec_down
(number)
More info about global_prefs_override.xml on the BOINC Wiki
-
REMOTE_HOSTS (string)
Adds hosts to
remote_hosts.cfg
. Each host/ip must be comma separatedIf
REMOTE_HOSTS
is not set, only localhost access is allowed to RPC -
REMOTE_AUTH (string)
Sets the remote RPC password (max 250 chars). If not set, on every container run, a new hash will be generated ( see
gui_rpc_auth.cfg
file on data volume)
More info about Controlling BOINC remotely on the BOINC Wiki.
Disclaimer: Not all options / configurations are supported right now.
GPU usage is not supported right now.