Merge branch 'main' of github.com:mcereda/oam

This commit is contained in:
Michele Cereda
2024-02-14 21:51:14 +01:00
14 changed files with 19 additions and 166 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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"]

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -22,7 +22,6 @@
<outline type="rss" title="Fedora Magazine" text="Fedora Magazine" version="RSS" fz:quickMode="false" fz:options="{&quot;version&quot;:2,&quot;updates&quot;:{&quot;enabled&quot;:true,&quot;updateMinutes&quot;:100,&quot;updateUnits&quot;:&quot;min&quot;,&quot;lastUpdateTime&quot;:1707679656126,&quot;lastDownloadTime&quot;:1707588239774,&quot;updatePeriod&quot;:&quot;hourly&quot;,&quot;updateFrequency&quot;:&quot;1&quot;,&quot;updateBase&quot;:&quot;&quot;},&quot;category&quot;:{&quot;enabled&quot;:false,&quot;prefixEnabled&quot;:false,&quot;prefix&quot;:&quot;&quot;}}" 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="{&quot;version&quot;:2,&quot;updates&quot;:{&quot;enabled&quot;:true,&quot;updateMinutes&quot;:100,&quot;updateUnits&quot;:&quot;min&quot;,&quot;lastUpdateTime&quot;:1707679659137,&quot;lastDownloadTime&quot;:1706143484349,&quot;updatePeriod&quot;:&quot;&quot;,&quot;updateFrequency&quot;:&quot;&quot;,&quot;updateBase&quot;:&quot;&quot;},&quot;category&quot;:{&quot;enabled&quot;:false,&quot;prefixEnabled&quot;:false,&quot;prefix&quot;:&quot;&quot;}}" 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="{&quot;version&quot;:2,&quot;updates&quot;:{&quot;enabled&quot;:true,&quot;updateMinutes&quot;:100,&quot;updateUnits&quot;:&quot;min&quot;,&quot;lastUpdateTime&quot;:1707679657166,&quot;lastDownloadTime&quot;:1707679657166,&quot;updatePeriod&quot;:&quot;&quot;,&quot;updateFrequency&quot;:&quot;&quot;,&quot;updateBase&quot;:&quot;&quot;},&quot;category&quot;:{&quot;enabled&quot;:false,&quot;prefixEnabled&quot;:false,&quot;prefix&quot;:&quot;&quot;}}" xmlUrl="https://9to5linux.com/feed/atom" htmlUrl="https://9to5linux.com/feed/atom"/></outline>
<outline title="Gitlab Inc Events">

View File

@@ -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

View File

@@ -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"

View 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

View File

@@ -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'