File tree 1 file changed +13
-6
lines changed
1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -12,27 +12,34 @@ declare -a files=(
12
12
" $SCRIPT_DIR /triton-cpu/devcontainer.json"
13
13
)
14
14
15
- # Get the current user's UID and GID
16
15
UID_VAL=$( id -u)
17
16
GID_VAL=$( id -g)
17
+ USERNAME=$( id -un)
18
+
19
+ is_podman () {
20
+ command -v podman & > /dev/null && podman info & > /dev/null
21
+ }
18
22
19
- # Function to detect NVIDIA CDI
20
23
is_nvidia_cdi_available () {
21
24
if command -v nvidia-ctk & > /dev/null && nvidia-ctk cdi list | grep -q " nvidia.com/gpu=all" ; then
22
25
return 0
23
26
fi
24
27
return 1
25
28
}
26
29
27
- # Update devcontainer.json with the correct UID and GID
28
30
for var in " ${files[@]} " ; do
29
31
if [ -f " $var " ]; then
30
- sed -i " s/\" --userns=keep-id:uid=[0-9]\+,gid=[0-9]\+\" /\" --userns=keep-id:uid=$UID_VAL ,gid=$GID_VAL \" /" " $var "
32
+ if is_podman; then
33
+ sed -i " s/\" --userns=keep-id:uid=[0-9]\+,gid=[0-9]\+\" /\" --userns=keep-id:uid=$UID_VAL ,gid=$GID_VAL \" /" " $var "
34
+ fi
31
35
32
- # Update devcontainer.json with the correct gpu flags if CDI is available
33
36
if is_nvidia_cdi_available; then
34
37
sed -i " /--runtime=nvidia/d" " $var "
35
- sed -i " s/\" --gpus all\" /\" --device nvidia.com/gpu=all\" /" " $var "
38
+ sed -i " s|\" --gpus all\" |\" --device\" ,\n \" nvidia.com/gpu=all\" |" " $var "
39
+ sed -i " /\" gpu\" : \" optional\" /d" " $var "
36
40
fi
41
+
42
+ sed -i " s/\" remoteUser\" : \"\$ {localEnv:USER}\" /\" remoteUser\" : \" $USERNAME \" /g" " $var "
43
+ sed -i " s/\" containerUser\" : \"\$ {localEnv:USER}\" /\" containerUser\" : \" $USERNAME \" /g" " $var "
37
44
fi
38
45
done
You can’t perform that action at this time.
0 commit comments