- Initial release,
- Based on rx3/x11-pulse-mga9:1.2.3 image.
This commit is contained in:
commit
300ef6e6a0
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*~
|
||||||
|
*.old
|
24
Dockerfile
Normal file
24
Dockerfile
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Rx3-Docker/X11-Pulse-NVidia Docker Image
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ARG IMG_FROM_URL="rx3-docker/x11-pulse:latest"
|
||||||
|
|
||||||
|
FROM ${IMG_FROM_URL}
|
||||||
|
|
||||||
|
ARG IMG_NAME
|
||||||
|
ARG IMG_NAME_FULL
|
||||||
|
ARG IMG_VERSION
|
||||||
|
ARG IMG_MAINTAINER
|
||||||
|
|
||||||
|
LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
|
||||||
|
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
|
||||||
|
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
|
||||||
|
LABEL maintainer=${IMG_MAINTAINER}
|
||||||
|
|
||||||
|
ENV DISPLAY=:0
|
||||||
|
|
||||||
|
|
||||||
|
RUN urpmi.update -a \
|
||||||
|
&& urpmi --force --no-install dkms-nvidia-current kernel-desktop-devel x11-driver-video-nvidia-current \
|
||||||
|
&& rpm -Uvh --nodeps /var/cache/urpmi/rpms/x11-driver-video-nvidia-current*.rpm \
|
||||||
|
&& \rm /var/cache/urpmi/rpms/*
|
23
ReadMe.txt
Normal file
23
ReadMe.txt
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Welcome to RX3-Docker/X11-Pulse-NVidia docker image!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This is project aims to build a X11 + Pulse + NVidia docker image able to run any graphic & audio application isolated and hardware optimized.
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Curtently based on rx3-docker/x11-pulse:1.2.3-mga9 image,
|
||||||
|
- NVidia libs installed,
|
||||||
|
- Require nvidia-container-toolkit installed on the host.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
./bin/run.sh [-h] [-i] <Application Dir> <Application Exec> [Args...]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Enjoy it!
|
||||||
|
|
||||||
|
Your Rx3 Team.
|
||||||
|
|
||||||
|
--
|
||||||
|
arnaud@rx3.net
|
||||||
|
https://git.rx3.org/gitea/rx3-docker/x11-pulse
|
6
ReleaseNotes.txt
Normal file
6
ReleaseNotes.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
Rx3-Docker/X11-Pulse-NVidia V 1.0.0 - A. GIBERT - 2025/04/14
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- Initial release,
|
||||||
|
- Based on rx3/x11-pulse-mga9:1.2.3 image.
|
48
bin/run.sh
Executable file
48
bin/run.sh
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
|
||||||
|
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" ]]
|
||||||
|
then
|
||||||
|
echo "usage: run.sh [-h] [-i] <Application_Dir> <Application_Exec> [Args...]"
|
||||||
|
echo "with -i enabling internet access."
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" == "-i" ]]
|
||||||
|
then
|
||||||
|
shift;
|
||||||
|
export APPL_NETWORK="internet"
|
||||||
|
else
|
||||||
|
export APPL_NETWORK="no-internet"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export APPL_DIR="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
export APPL_NAME="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
APPL_DIR=$(realpath ${APPL_DIR})
|
||||||
|
|
||||||
|
export USER_ID=$(id -u)
|
||||||
|
export GROUP_ID=$(id -g)
|
||||||
|
export GROUP_NAME=$(id -gn)
|
||||||
|
|
||||||
|
|
||||||
|
cd "${APPL_HOME_DIR}"
|
||||||
|
|
||||||
|
sbin/docker_mk_env
|
||||||
|
|
||||||
|
docker compose run --rm x11-pulse-nvidia /usr/local/sbin/user_add_exec ${USER_ID} ${USER} ${HOME} ${GROUP_ID} ${GROUP_NAME} "${APPL_DIR}" "${APPL_NAME}" "$@"
|
||||||
|
|
||||||
|
docker compose down
|
75
compose.yaml
Normal file
75
compose.yaml
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
# Rx3-Docker/X11-Pulse-NVidia Docker Image
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
name: ${XPN_IMG_NAME}
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
x11-pulse-nvidia:
|
||||||
|
container_name: ${XPN_HOST_NAME}
|
||||||
|
hostname: ${XPN_HOST_NAME}
|
||||||
|
|
||||||
|
image: ${XPN_IMG_URL}
|
||||||
|
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
args:
|
||||||
|
IMG_NAME: ${XPN_IMG_NAME}
|
||||||
|
IMG_NAME_FULL: ${XPN_IMG_NAME_FULL}
|
||||||
|
IMG_VERSION: ${XPN_IMG_VERSION}
|
||||||
|
IMG_MAINTAINER: ${XPN_IMG_MAINTAINER}
|
||||||
|
IMG_FROM_URL: ${XPN_IMG_FROM_URL}
|
||||||
|
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
environment:
|
||||||
|
DISPLAY: ":0"
|
||||||
|
NVIDIA_VISIBLE_DEVICES: "all" # or "0" for GPU 0 only
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
# - home_dir:/home
|
||||||
|
- /opt/vm/home:/home
|
||||||
|
- type: bind
|
||||||
|
source: /tmp/.X11-unix/X0
|
||||||
|
target: /tmp/.X11-unix/X0
|
||||||
|
- type: bind
|
||||||
|
source: /run/user/${USER_ID}/pulse
|
||||||
|
target: /run/user/${USER_ID}/pulse
|
||||||
|
- type: bind
|
||||||
|
source: "${APPL_DIR}"
|
||||||
|
target: "${APPL_DIR}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- ${APPL_NETWORK}
|
||||||
|
|
||||||
|
runtime: nvidia
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
reservations:
|
||||||
|
devices:
|
||||||
|
- capabilities: [gpu]
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
home_dir:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
networks:
|
||||||
|
internet:
|
||||||
|
name: ${NETWORK_NAME}-internet
|
||||||
|
driver: bridge
|
||||||
|
internal: false # Allow internet access
|
||||||
|
driver_opts:
|
||||||
|
com.docker.network.bridge.name: ${NETWORK_IF_NAME}
|
||||||
|
|
||||||
|
no-internet:
|
||||||
|
name: ${NETWORK_NAME}-no-internet
|
||||||
|
driver: bridge
|
||||||
|
internal: true # Block internet access
|
||||||
|
driver_opts:
|
||||||
|
com.docker.network.bridge.name: ${NETWORK_IF_NAME}
|
59
env.dist
Normal file
59
env.dist
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# Rx3-Docker/X11-Pulse-NVidia Docker Image
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Global Settings
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
ORG_NAME="rx3-docker"
|
||||||
|
ORG_REGISTRY="docker.xor.rx3:5000"
|
||||||
|
ORG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
|
||||||
|
|
||||||
|
ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# Image Settings
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
APPL_NAME="x11-pulse-nvidia"
|
||||||
|
APPL_NAME_FULL="X11-Pulse-NVidia Docker Image"
|
||||||
|
APPL_NAME_SHORT="x11-pls-nv"
|
||||||
|
APPL_VERSION="1.0.0"
|
||||||
|
|
||||||
|
HOST_NAME_PREFIX=${APPL_NAME_SHORT}${APPL_SUFFIX}
|
||||||
|
|
||||||
|
PORT_ENV_OFFSET=0
|
||||||
|
|
||||||
|
PORT_SV_INT=9001
|
||||||
|
PORT_SV_OFFSET=1000
|
||||||
|
|
||||||
|
NETWORK_NAME=${HOST_NAME_PREFIX}
|
||||||
|
NETWORK_IF_NAME=br-${NETWORK_NAME}
|
||||||
|
|
||||||
|
DOCKER_TOOLS_DEBUG=FALSE
|
||||||
|
|
||||||
|
DOCKER_TOOLS_VOLUME=SINGLE
|
||||||
|
#DOCKER_TOOLS_VOLUME=MIXED
|
||||||
|
#DOCKER_TOOLS_VOLUME=MERGED
|
||||||
|
#DOCKER_TOOLS_VOLUME=SPLIT
|
||||||
|
|
||||||
|
#DOCKER_TOOLS_EXEPTION_LIBS="postgres:pgsql"
|
||||||
|
|
||||||
|
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+---------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||||
|
# | Variable | Service | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
|
||||||
|
# | Prefix | Name | URL Prefix | Name | Name Full | Version | URL Prefix | Name | Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
|
||||||
|
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+---------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||||
|
|
||||||
|
docker_service_add XPN x11-pulse-nvidia ${ORG_URL_PREFIX} - "Rx3-Docker/X11-Pulse-NVidia" ${APPL_VERSION}-mga9 ${ORG_URL_PREFIX} x11-pulse 1.2.3-mga9 - - - - - - - -
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# User Settings (overwrited at run time)
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
USER_ID=""
|
||||||
|
APPL_DIR=""
|
||||||
|
APPL_NETWORK="no-internet"
|
Loading…
Reference in New Issue
Block a user