Files
Podman/itdominator-gui-base-image/start.sh

65 lines
1.9 KiB
Bash
Raw Normal View History

#!/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 $@;