47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Default image version
|
|
IMAGE="ghcr.io/inti-cmnb/kicad8_auto_full:dev"
|
|
|
|
# Parse the optional -v flag
|
|
while getopts "v:" opt; do
|
|
case "$opt" in
|
|
v)
|
|
if [ "$OPTARG" = "9" ]; then
|
|
IMAGE="ghcr.io/inti-cmnb/kicad9_auto_full:dev"
|
|
else
|
|
echo "Unsupported version: $OPTARG" >&2
|
|
exit 1
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Usage: $0 [-v 9]" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
export USER_ID=$(id -u)
|
|
export GROUP_ID=$(id -g)
|
|
export USER_NAME=$(whoami)
|
|
|
|
docker run --rm -it \
|
|
--user "$USER_ID:$GROUP_ID" \
|
|
--env NO_AT_BRIDGE=1 \
|
|
--env DISPLAY="$DISPLAY" \
|
|
--workdir="/home/$USER_NAME" \
|
|
--volume=/tmp/.X11-unix:/tmp/.X11-unix \
|
|
--volume="/etc/group:/etc/group:ro" \
|
|
--volume="/etc/passwd:/etc/passwd:ro" \
|
|
--volume="/etc/shadow:/etc/shadow:ro" \
|
|
--volume="/home/$USER_NAME:/home/$USER_NAME:rw" \
|
|
-p 8000:8000 \
|
|
--entrypoint /bin/bash \
|
|
"$IMAGE" -c "
|
|
if ! id $USER_NAME &>/dev/null; then
|
|
echo \"Creating user $USER_NAME ($USER_ID:$GROUP_ID)...\"
|
|
useradd -u $USER_ID -g $GROUP_ID -d /home/$USER_NAME -m $USER_NAME
|
|
chown -R $USER_ID:$GROUP_ID /home/$USER_NAME
|
|
fi
|
|
exec su - $USER_NAME"
|