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