mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
Merge branch 'main' of github.com:mcereda/oam
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
# Boinc client on Docker
|
||||
|
||||
> See my custom image at [container-image-boinc-client](https://gitlab.com/mckie/container-image-boinc-client).
|
||||
|
||||
## Table of contents <!-- omit in toc -->
|
||||
|
||||
1. [Parameters](#parameters)
|
||||
|
||||
@@ -24,9 +24,8 @@ services:
|
||||
- video
|
||||
volumes:
|
||||
- /etc/resolv.conf:/etc/resolv.conf:ro
|
||||
- ./data:/var/lib/boinc
|
||||
- ${PWD}/data:/var/lib/boinc
|
||||
environment:
|
||||
- BOINC_CMD_LINE_OPTIONS=--allow_remote_gui_rpc
|
||||
- BOINC_GUI_RPC_PASSWORD=123
|
||||
- BOINC_REMOTE_HOST=192.168.1.1
|
||||
- TZ=Europe/Dublin
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
<!--
|
||||
${BOINC_DATA_DIR}/cc_config.xml
|
||||
Configuration file for the BOINC core client.
|
||||
See https://boinc.berkeley.edu/wiki/Client_configuration#Client_configuration
|
||||
for a complete list of all the available options.
|
||||
-->
|
||||
|
||||
<cc_config>
|
||||
<options>
|
||||
|
||||
<!-- Abort jobs and update projects when the client exits. -->
|
||||
<abort_jobs_on_exit>1</abort_jobs_on_exit>
|
||||
|
||||
<!--
|
||||
Report jobs to the project server as soon as they are finished.
|
||||
Satisfies the inbuilt 60 second delay from the completion of the
|
||||
result's upload.
|
||||
-->
|
||||
<report_results_immediately>1</report_results_immediately>
|
||||
|
||||
<!-- Don't accept jobs for VirtualBox. -->
|
||||
<dont_use_vbox>1</dont_use_vbox>
|
||||
|
||||
<!-- Exempt non-CPU-intensive tasks from most cases of suspension. -->
|
||||
<dont_suspend_nci>1</dont_suspend_nci>
|
||||
|
||||
<!--
|
||||
Allow GUI RPCs from *any* remote host.
|
||||
See https://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely.
|
||||
-->
|
||||
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
|
||||
|
||||
</options>
|
||||
<log_flags>
|
||||
|
||||
<!-- On by default. -->
|
||||
<task>1</task>
|
||||
<file_xfer>1</file_xfer>
|
||||
<sched_ops>1</sched_ops>
|
||||
|
||||
</log_flags>
|
||||
</cc_config>
|
||||
@@ -1,64 +0,0 @@
|
||||
<!--
|
||||
${BOINC_DATA_DIR}/global_prefs_override.xml
|
||||
Configuration file for the BOINC core client that can be used to override global
|
||||
preferences locally.
|
||||
See http://boinc.berkeley.edu/trac/wiki/PrefsOverride,
|
||||
https://boinc.berkeley.edu/trac/wiki/PrefsImpl and
|
||||
https://boinc.berkeley.edu/wiki/Global_prefs_override.xml for a complete list
|
||||
of all preferences which can be overridden.
|
||||
-->
|
||||
|
||||
<global_preferences>
|
||||
|
||||
<!-- Use the BoincStats account manager. -->
|
||||
<source_project>http://bam.boincstats.com/</source_project>
|
||||
|
||||
<!-- Run always. -->
|
||||
<start_hour>0</start_hour>
|
||||
<end_hour>0</end_hour>
|
||||
<suspend_if_no_recent_input>0</suspend_if_no_recent_input>
|
||||
|
||||
<!-- Always be active on the network. -->
|
||||
<net_start_hour>0</net_start_hour>
|
||||
<net_end_hour>0</net_end_hour>
|
||||
|
||||
<!--
|
||||
Suspend computation if the user is active.
|
||||
Wait 3 minutes before starting again.
|
||||
-->
|
||||
<run_if_user_active>0</run_if_user_active>
|
||||
<run_gpu_if_user_active>0</run_gpu_if_user_active>
|
||||
<idle_time_to_run>3</idle_time_to_run>
|
||||
|
||||
<!--
|
||||
Limit resource usage.
|
||||
The stricter ones have precedence.
|
||||
-->
|
||||
<max_cpus>1024</max_cpus>
|
||||
<max_ncpus_pct>100</max_ncpus_pct>
|
||||
<cpu_usage_limit>100</cpu_usage_limit>
|
||||
<suspend_cpu_usage>75</suspend_cpu_usage>
|
||||
<ram_max_used_idle_pct>100</ram_max_used_idle_pct>
|
||||
<ram_max_used_busy_pct>90</ram_max_used_busy_pct>
|
||||
<vm_max_used_pct>100</vm_max_used_pct>
|
||||
<disk_max_used_gb>1024</disk_max_used_gb>
|
||||
<disk_max_used_pct>90</disk_max_used_pct>
|
||||
<disk_min_free_gb>1</disk_min_free_gb>
|
||||
<max_bytes_sec_down>0</max_bytes_sec_down>
|
||||
<max_bytes_sec_up>0</max_bytes_sec_up>
|
||||
|
||||
<!--
|
||||
Avoid buffering tasks.
|
||||
This is an ephemeral system after all.
|
||||
-->
|
||||
<work_buf_min_days>0</work_buf_min_days>
|
||||
<work_buf_additional_days>0</work_buf_additional_days>
|
||||
|
||||
<!--
|
||||
Save data and reschedule every often.
|
||||
I do not expect a container to run too long.
|
||||
-->
|
||||
<cpu_scheduling_period_minutes>10</cpu_scheduling_period_minutes>
|
||||
<disk_interval>60</disk_interval>
|
||||
|
||||
</global_preferences>
|
||||
@@ -21,7 +21,7 @@ services:
|
||||
- /dev/dri:/dev/dri
|
||||
volumes:
|
||||
- /etc/resolv.conf:/etc/resolv.conf:ro
|
||||
- ./data:/var/lib/boinc
|
||||
- ${PWD}/data:/var/lib/boinc
|
||||
environment:
|
||||
- BOINC_CMD_LINE_OPTIONS=--allow_remote_gui_rpc
|
||||
- BOINC_GUI_RPC_PASSWORD=123
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
# docker build -t 'michelecereda/boinc-client:intel-tw-7.24.1' -f 'intel.opensuse.dockerfile' .
|
||||
# docker run --rm --name 'boinc' --net='host' --pid='host' \
|
||||
# --device '/dev/dri:/dev/dri' -v './data:/var/lib/boinc' \
|
||||
# -e BOINC_GUI_RPC_PASSWORD="123" -e BOINC_CMD_LINE_OPTIONS="--allow_remote_gui_rpc" \
|
||||
# 'michelecereda/boinc-client:intel-tw-7.24.1'
|
||||
|
||||
FROM registry.opensuse.org/opensuse/tumbleweed:20231226
|
||||
|
||||
LABEL maintainer="michelecereda" \
|
||||
description="Intel GPU-savvy BOINC client."
|
||||
|
||||
# Global environment settings
|
||||
ENV BOINC_GUI_RPC_PASSWORD="123" \
|
||||
BOINC_REMOTE_HOST="127.0.0.1" \
|
||||
BOINC_CMD_LINE_OPTIONS=""
|
||||
|
||||
# Copy files
|
||||
COPY start-boinc.sh /usr/bin/
|
||||
|
||||
# Configure
|
||||
WORKDIR /var/lib/boinc
|
||||
|
||||
# BOINC RPC port
|
||||
EXPOSE 31416
|
||||
|
||||
# Install
|
||||
RUN zypper install -y --no-recommends \
|
||||
# Time Zone Database
|
||||
timezone=2023c-1.5 \
|
||||
# BOINC client
|
||||
boinc-client=7.24.1-1.2 \
|
||||
# OpenCL ICD Loader
|
||||
ocl-icd-devel=2.3.1-2.1 \
|
||||
# Intel NEO OpenCL
|
||||
intel-opencl=23.22.26516.18-1.2 \
|
||||
&& zypper clean -a
|
||||
|
||||
CMD ["start-boinc.sh"]
|
||||
@@ -15,9 +15,8 @@ services:
|
||||
network_mode: host
|
||||
pid: host
|
||||
volumes:
|
||||
- ./data:/var/lib/boinc
|
||||
- ${PWD}/data:/var/lib/boinc
|
||||
environment:
|
||||
- BOINC_CMD_LINE_OPTIONS=--allow_remote_gui_rpc
|
||||
- BOINC_GUI_RPC_PASSWORD=123
|
||||
- BOINC_REMOTE_HOST=192.168.1.1
|
||||
- TZ=Europe/Dublin
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Originally from:
|
||||
# https://github.com/BOINC/boinc-client-docker/blob/master/bin/start-boinc.sh
|
||||
|
||||
# Configure the GUI RPC
|
||||
echo $BOINC_GUI_RPC_PASSWORD > /var/lib/boinc/gui_rpc_auth.cfg
|
||||
echo $BOINC_REMOTE_HOST > /var/lib/boinc/remote_hosts.cfg
|
||||
|
||||
# Run BOINC. Full path needs for GPU support.
|
||||
exec /usr/bin/boinc $BOINC_CMD_LINE_OPTIONS
|
||||
@@ -3,14 +3,14 @@
|
||||
version: "3"
|
||||
services:
|
||||
syncthing:
|
||||
image: syncthing/syncthing:1.27.2
|
||||
image: syncthing/syncthing:1.27.3
|
||||
container_name: syncthing
|
||||
hostname: ${HOSTNAME}
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=100
|
||||
volumes:
|
||||
- ./config:/var/syncthing/config
|
||||
- ./data:/var/syncthing/data
|
||||
- ${PWD}/config:/var/syncthing/config
|
||||
- ${PWD}/data:/var/syncthing/data
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
<outline type="rss" title="Fedora Magazine" text="Fedora Magazine" version="RSS" fz:quickMode="false" fz:options="{"version":2,"updates":{"enabled":true,"updateMinutes":100,"updateUnits":"min","lastUpdateTime":1707679656126,"lastDownloadTime":1707588239774,"updatePeriod":"hourly","updateFrequency":"1","updateBase":""},"category":{"enabled":false,"prefixEnabled":false,"prefix":""}}" xmlUrl="https://fedoramagazine.org/feed/" htmlUrl="https://fedoramagazine.org/"/></outline>
|
||||
<outline title="Kubernetes Blog">
|
||||
<outline type="rss" title="Kubernetes Blog" text="Kubernetes Blog" version="RSS" fz:quickMode="false" fz:options="{"version":2,"updates":{"enabled":true,"updateMinutes":100,"updateUnits":"min","lastUpdateTime":1707679659137,"lastDownloadTime":1706143484349,"updatePeriod":"","updateFrequency":"","updateBase":""},"category":{"enabled":false,"prefixEnabled":false,"prefix":""}}" xmlUrl="https://kubernetes.io/feed.xml" htmlUrl="https://kubernetes.io/"/></outline>
|
||||
<outline title="Archives"/>
|
||||
<outline title="9to5Linux">
|
||||
<outline type="rss" title="9to5Linux" text="9to5Linux" version="RSS" fz:quickMode="false" fz:options="{"version":2,"updates":{"enabled":true,"updateMinutes":100,"updateUnits":"min","lastUpdateTime":1707679657166,"lastDownloadTime":1707679657166,"updatePeriod":"","updateFrequency":"","updateBase":""},"category":{"enabled":false,"prefixEnabled":false,"prefix":""}}" xmlUrl="https://9to5linux.com/feed/atom" htmlUrl="https://9to5linux.com/feed/atom"/></outline>
|
||||
<outline title="Gitlab Inc Events">
|
||||
|
||||
@@ -17,9 +17,10 @@ BSD systems use NFSv4 ACLs by default in ZFS.
|
||||
List of **NFSv4** [permission tags][syntax descriptions for setting acls] and [inheritance options][acl inheritance].
|
||||
|
||||
```sh
|
||||
# Install the tool.
|
||||
# Install the tools.
|
||||
apt install 'acl'
|
||||
dnf install 'acl'
|
||||
zypper install 'acl'
|
||||
|
||||
# Show ACLs.
|
||||
getfacl 'path/to/file'
|
||||
@@ -127,11 +128,15 @@ setfacl -a '5' 'everyone@:r-x---a-R-c---:-d-----:allow' 'path/to/dir'
|
||||
- [`setfacl` FreeBSD manual page][setfacl freebsd manual page]
|
||||
- [Syntax descriptions for setting ACLs]
|
||||
- [ACL inheritance]
|
||||
- [`chmod`][chmod] for how to force new files to be owned by specific users or groups
|
||||
|
||||
<!--
|
||||
References
|
||||
-->
|
||||
|
||||
<!-- Knowledge base -->
|
||||
[chmod]: chmod.md
|
||||
|
||||
<!-- Others -->
|
||||
[access control lists (acl) in linux]: https://www.geeksforgeeks.org/access-control-listsacl-linux/
|
||||
[acl inheritance]: https://docs.oracle.com/cd/E19253-01/819-5461/gbaax/index.html
|
||||
|
||||
@@ -9,10 +9,12 @@ chmod 'u=rw' "path/to/dir"
|
||||
chmod 'go+x' "path/to/file"
|
||||
|
||||
# Set 'setuid' bit.
|
||||
# Set on directories, forces new files to be owned by the same user by default.
|
||||
chmod '04755' "path/to/dir"
|
||||
chmod 'u-s' "path/to/file"
|
||||
|
||||
# Set 'setgid' bit.
|
||||
# Set on directories, forces new files to be owned by the same group by default.
|
||||
chmod '02775' "path/to/dir"
|
||||
chmod 'g+s' "path/to/file"
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ Examples: [1][lifecycle configuration examples], [2][s3 lifecycle rules example
|
||||
|
||||
- [Configure notification for lifecycle rules][lifecycle configure notification]
|
||||
- AWS' [CLI]
|
||||
- [Expiring Amazon S3 objects based on last accessed date to decrease costs]
|
||||
|
||||
### Sources
|
||||
|
||||
@@ -119,6 +120,7 @@ Examples: [1][lifecycle configuration examples], [2][s3 lifecycle rules example
|
||||
|
||||
<!-- Upstream -->
|
||||
[cli subcommand reference]: https://docs.aws.amazon.com/cli/latest/reference/s3/
|
||||
[expiring amazon s3 objects based on last accessed date to decrease costs]: https://aws.amazon.com/blogs/architecture/expiring-amazon-s3-objects-based-on-last-accessed-date-to-decrease-costs/
|
||||
[lifecycle configuration examples]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html
|
||||
[lifecycle configure notification]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configure-notification.html
|
||||
[lifecycle general considerations for transitions]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html
|
||||
|
||||
@@ -50,7 +50,7 @@ docker run -d --name 'boinc' --network='host' --pid='host' -v 'boinc:/var/lib/bo
|
||||
|
||||
# Gracefully stop containers.
|
||||
docker stop 'alpine-test'
|
||||
docker stop 'bdbe3f45'
|
||||
docker stop -t '0' 'bdbe3f45'
|
||||
|
||||
# Kill containers.
|
||||
docker kill 'alpine-test'
|
||||
|
||||
Reference in New Issue
Block a user