65 lines
1.9 KiB
Bash
Executable File
65 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. CONFIG.sh
|
|
|
|
# set -o xtrace ## To debug scripts
|
|
# set -o errexit ## To exit on error
|
|
# set -o errunset ## To exit if a variable is referenced but not set
|
|
|
|
|
|
function main() {
|
|
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
|
cd "${SCRIPTPATH}"
|
|
echo "Working Dir: " $(pwd)
|
|
|
|
ID=$(podman ps --filter "ancestor=localhost/${CONTAINER}:latest" --format "{{.ID}}")
|
|
if [ "${ID}" != "" ]; then
|
|
echo "Is up..."
|
|
exit 1
|
|
fi
|
|
|
|
DOWNLOAD_HOST="${HOME}/Downloads"
|
|
DOWNLOAD_CONTAINER="${CONTAINER_HOME}/Downloads"
|
|
CODING_HOST="${HOME}/Coding"
|
|
CODING_CONTAINER="${CONTAINER_HOME}/Coding"
|
|
CONFIG_HOST="${HOME}/.config/newton"
|
|
CONFIG_CONTAINER="${CONTAINER_HOME}/.config/newton"
|
|
_UID=$(id -u)
|
|
_GID=$(id -g)
|
|
_ADDR="192.168.0.2"
|
|
_X11_PORT=":0"
|
|
_DISPLAY="${_ADDR}${_X11_PORT}"
|
|
|
|
(
|
|
socat TCP-LISTEN:6000,fork,bind=${_ADDR} UNIX-CONNECT:/tmp/.X11-unix/X0 \
|
|
|| echo "Socat binding already set..."
|
|
) &
|
|
|
|
xhost SI:localuser:abaddon
|
|
|
|
# sudo sysctl net.ipv4.ip_unprivileged_port_start=80
|
|
|
|
# --security-opt label=disable \
|
|
# --userns=host \
|
|
# --net=host \
|
|
# --privileged \
|
|
# -p 80:80 \
|
|
# -p 443:443 \
|
|
# podman run -d -m 4G \
|
|
podman run --rm -it -m 4G \
|
|
--user "${_UID}":"${_GID}" \
|
|
--annotation run.oci.cdi.devices=all \
|
|
-e NVIDIA_DRIVER_CAPABILITIES=video,compute,utility \
|
|
-e DISPLAY="${_DISPLAY}" \
|
|
-e GDK_BACKEND=x11 \
|
|
-e HOME="${CONTAINER_HOME}" \
|
|
-v /run/user/"${_UID}":/run/user/"${_UID}" \
|
|
-v "${DOWNLOAD_HOST}":"${DOWNLOAD_CONTAINER}" \
|
|
-v "${CODING_HOST}":"${CODING_CONTAINER}" \
|
|
-v "${CONFIG_HOST}":"${CONFIG_CONTAINER}" \
|
|
"${CONTAINER}:latest" bash
|
|
|
|
# sudo sysctl net.ipv4.ip_unprivileged_port_start=1024
|
|
}
|
|
main $@;
|