From 61b647d58772f5fe2d8e2603ccbe90751b272df3 Mon Sep 17 00:00:00 2001 From: thelamer Date: Mon, 8 Jul 2024 20:37:37 -0400 Subject: [PATCH] update develop to be functional for 1.16 --- Dockerfile | 3 +- Dockerfile.aarch64 | 3 +- root/etc/docker/daemon.json | 8 ++++++ .../s6-overlay/s6-rc.d/init-config-kasm/run | 8 ++++++ root/gpuinfo.sh | 28 ++++++++++++++++++- 5 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 root/etc/docker/daemon.json diff --git a/Dockerfile b/Dockerfile index b7355a2..9ccc70b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,16 +34,17 @@ RUN \ containerd.io \ docker-ce \ docker-ce-cli \ - drm-info \ e2fsprogs \ fuse-overlayfs \ g++ \ gcc \ + iproute2 \ iptables \ jq \ lsof \ make \ nodejs \ + nvidia-container-toolkit \ nvidia-docker2 \ openssl \ pigz \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index acf4a4d..162b3b7 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -34,16 +34,17 @@ RUN \ containerd.io \ docker-ce \ docker-ce-cli \ - drm-info \ e2fsprogs \ fuse-overlayfs \ g++ \ gcc \ + iproute2 \ iptables \ jq \ lsof \ make \ nodejs \ + nvidia-container-toolkit \ nvidia-docker2 \ openssl \ pigz \ diff --git a/root/etc/docker/daemon.json b/root/etc/docker/daemon.json new file mode 100644 index 0000000..c561d62 --- /dev/null +++ b/root/etc/docker/daemon.json @@ -0,0 +1,8 @@ +{ + "runtimes": { + "nvidia": { + "args": [], + "path": "nvidia-container-runtime" + } + } +} diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run index 8874fb8..95d4ae2 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run +++ b/root/etc/s6-overlay/s6-rc.d/init-config-kasm/run @@ -18,3 +18,11 @@ if [ ! -f "/opt/kasm/certs/kasm_wizard.crt" ]; then -out /opt/kasm/certs/kasm_wizard.crt \ -subj "/C=US/ST=VA/L=None/O=None/OU=DoFu/CN=$(hostname)/emailAddress=none@none.none" fi + +# Create plugin directory +if [ ! -d "/opt/docker-plugins" ]; then + mkdir -p /opt/docker-plugins + ln -s /opt/docker-plugins /var/lib/docker-plugins + mkdir -p /var/lib/docker-plugins/rclone/config + mkdir -p /var/lib/docker-plugins/rclone/cache +fi diff --git a/root/gpuinfo.sh b/root/gpuinfo.sh index 984df4e..234731e 100755 --- a/root/gpuinfo.sh +++ b/root/gpuinfo.sh @@ -1,2 +1,28 @@ #! /bin/bash -drm_info -j 2>/dev/null| jq -c 'with_entries(.value |= .driver.desc)' + +# Get list of drm devices +IFS=$'\n' +CARDS=$(ls -la /sys/class/drm/renderD*/device/driver 2>/dev/null | awk '{print $11}' | awk -F/ '{print $NF}') +if [ -z "$CARDS" ]; then + echo '{}' + exit 0 +fi +for CARD in ${CARDS}; do + LAST_CARD=${CARD} +done + +# Add them to the json string +JSON='{' +COUNTER=0 +for CARD in $CARDS; do + JSON="${JSON}\"/dev/dri/card$COUNTER\":\"${CARD^^}\"" + if [ ${CARD} == ${LAST_CARD} ]; then + JSON="${JSON}}" + else + JSON="${JSON}," + fi + COUNTER=$(( COUNTER + 1 )) +done + +# Print json string +echo $JSON