v3, heavy refactor needed
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
IMAGE="${DNC_IMAGE:-ghcr.io/lstmnemodel/dnc:latest}"
|
||||
|
||||
GPU=none
|
||||
if command -v nvidia-smi >/dev/null 2>&1; then
|
||||
GPU=nvidia
|
||||
fi
|
||||
|
||||
DRI=""
|
||||
[ -d /dev/dri ] && DRI=1
|
||||
|
||||
KFD=""
|
||||
[ -e /dev/kfd ] && KFD=1
|
||||
|
||||
DOCKER_SOCK="/var/run/docker.sock"
|
||||
|
||||
ROOTLESS=$(docker info --format '{{.ClientInfo.Context}}' 2>/dev/null | grep -ci rootless || true)
|
||||
if [ "$ROOTLESS" -gt 0 ] 2>/dev/null ; then
|
||||
echo "ERROR: dnc requires rootful Docker. Rootless Docker is not supported." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DNC_CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/dnc"
|
||||
mkdir -p "$DNC_CACHE"
|
||||
|
||||
TTY_FLAG=""
|
||||
[ -t 0 ] && TTY_FLAG="-t"
|
||||
|
||||
exec docker run --rm -i ${TTY_FLAG} \
|
||||
-v "$DOCKER_SOCK:/var/run/docker.sock:ro" \
|
||||
-v "$PWD:$PWD" -w "$PWD" \
|
||||
-v "$DNC_CACHE:/opt/dnc/host:rw" \
|
||||
-e "DNC_HOST_GPU=$GPU" \
|
||||
-e "DNC_HOST_DRI=$DRI" \
|
||||
-e "DNC_HOST_KFD=$KFD" \
|
||||
-e "DNC_HOST_UID=$(id -u)" \
|
||||
-e "DNC_HOST_GID=$(id -g)" \
|
||||
-e "DNC_HOST_USER=$USER" \
|
||||
-e "DNC_HOST_HOME=$HOME" \
|
||||
-e "DNC_HOST_SHELL=$SHELL" \
|
||||
-e "DNC_HOST_GIDS=$(id -G)" \
|
||||
-e "DNC_CACHE_HOST=$DNC_CACHE" \
|
||||
-e DISPLAY -e WAYLAND_DISPLAY -e XAUTHORITY \
|
||||
-e DBUS_SESSION_BUS_ADDRESS -e XDG_RUNTIME_DIR \
|
||||
-e PULSE_SERVER -e PIPEWIRE_RUNTIME_DIR \
|
||||
-e SSH_AUTH_SOCK -e TERM -e LANG \
|
||||
"$IMAGE" "$@"
|
||||
Reference in New Issue
Block a user