Compare commits
6 Commits
x11-pulse-
...
master
Author | SHA1 | Date | |
---|---|---|---|
1ec6476ff6 | |||
77bb7d9185 | |||
e795826ec4 | |||
433fd789a4 | |||
502680793e | |||
6017327425 |
11
.env
11
.env
@ -1,11 +0,0 @@
|
||||
# Rx3 X11 Pulse Mageia-9 Docker Image
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
IMG_NAME="x11-pulse-mga9"
|
||||
IMG_FULL_NAME="Rx3 X11 Pulse Mageia-9 Docker Image"
|
||||
IMG_VERSION="1.1.0"
|
||||
IMG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
|
||||
|
||||
# To be difines at run time
|
||||
USER_ID=""
|
||||
APPL_HOME_DIR=""
|
13
Dockerfile
13
Dockerfile
@ -1,19 +1,20 @@
|
||||
# Rx3 X11 Pulse Mageia-9 Docker Image
|
||||
# Rx3-Docker/X11-Pulse Docker Image
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
FROM docker.xor.rx3:5000/rx3/base-mga9:1.2.0
|
||||
ARG IMG_FROM_URL="rx3-docker/base:latest"
|
||||
|
||||
FROM ${IMG_FROM_URL}
|
||||
|
||||
ARG IMG_NAME
|
||||
ARG IMG_FULL_NAME
|
||||
ARG IMG_NAME_FULL
|
||||
ARG IMG_VERSION
|
||||
ARG IMG_MAINTAINER
|
||||
|
||||
LABEL org.rx3.${IMG_NAME}.name=${IMG_FULL_NAME}
|
||||
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
|
||||
|
||||
|
||||
@ -21,7 +22,7 @@ RUN urpmi --force xterm lib64jack0 lib64opencl1 pipewire-media-session lib64p
|
||||
|
||||
#RUN passwd -d root
|
||||
|
||||
COPY /sbin/user_add_exec /sbin
|
||||
COPY src/sbin/user_add_exec /usr/local/sbin
|
||||
|
||||
VOLUME /home
|
||||
VOLUME /tmp/.X11-unix/X0
|
||||
|
13
ReadMe.txt
13
ReadMe.txt
@ -1,17 +1,18 @@
|
||||
Welcome to X11-Pulse-Mga9 docker image!
|
||||
Welcome to RX3-Docker/X11-Pulse docker image!
|
||||
|
||||
|
||||
|
||||
This is project aims to build a X11 + Pulse + Mageia-9 docker image able to run any graphic & audio application isolated.
|
||||
This is project aims to build a X11 + Pulse docker image able to run any graphic & audio application isolated.
|
||||
|
||||
Features:
|
||||
- Curtently based on base-mga9:1.2.0 image,
|
||||
- Curtently based on rx3-docker/base:1.3.0-mga9 image,
|
||||
- X11 & Pulse base libraries installed,
|
||||
- user_add_exec program to create on the run the user environement.
|
||||
- Target user & group created on the run,
|
||||
- Optional output internet routing.
|
||||
|
||||
|
||||
Usage:
|
||||
./run.sh <Application Dir> <Application Exec>
|
||||
./bin/run.sh [-h] [-i] <Application Dir> <Application Exec> [Args...]
|
||||
|
||||
|
||||
Enjoy it!
|
||||
@ -20,4 +21,4 @@ Your Rx3 Team.
|
||||
|
||||
--
|
||||
arnaud@rx3.net
|
||||
https://git.rx3.org/gitea/rx3/x11-pulse-mga9
|
||||
https://git.rx3.org/gitea/rx3-docker/x11-pulse
|
||||
|
@ -1,5 +1,62 @@
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
X11-Pulse-Mga9 V 1.1.0 - A. GIBERT - 2024/08/23
|
||||
Rx3-Docker/X11-Pulse V 1.2.0 - A. GIBERT - 2024/11/18
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Move & Rename repo from Rx3/X11-Pulse-MGA9 to Rx3-Docker/X11-Pulse,
|
||||
- New version naming standard,
|
||||
- Now use docker_tools for .env building,
|
||||
- Now use docker_service_add macro,
|
||||
- Use now rx3-docker/base:1.3.0-mga9 image,
|
||||
- Create bin & src/sbin directories.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3/X11-Pulse-Mga9 V 1.1.5 - A. GIBERT - 2024/10/07
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Update to rx3/base-mga9:1.2.6 image,
|
||||
- Variabilization of external server ports in env & compose file,
|
||||
- Now use docker_tools for .env building.
|
||||
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3/X11-Pulse-Mga9 V 1.1.4 - A. GIBERT - 2024/08/28
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Update to rx3/base-mga9:1.2.4 image.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3/X11-Pulse-Mga9 V 1.1.3 - A. GIBERT - 2024/08/27
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Update to rx3/base-mga9:1.2.3 image.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3/X11-Pulse-Mga9 V 1.1.2 - A. GIBERT - 2024/08/25
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Update to rx3/base-mga9:1.2.1 image.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3/X11-Pulse-Mga9 V 1.1.1 - A. GIBERT - 2024/08/23
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Add internet output routing option on run time execution,
|
||||
- Fix application args passing.
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Rx3/X11-Pulse-Mga9 V 1.1.0 - A. GIBERT - 2024/08/23
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Remove Emacs to lighten the image weight...
|
||||
@ -7,10 +64,10 @@ X11-Pulse-Mga9 V 1.1.0 - A. GIBERT - 2024/08/23
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
X11-Pulse-Mga9 V 1.0.0 - A. GIBERT - 2024/08/23
|
||||
Rx3/X11-Pulse-Mga9 V 1.0.0 - A. GIBERT - 2024/08/23
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Initial release,
|
||||
- Use based on base-mga9:1.2.0 image,
|
||||
- Based on rx3/base-mga9:1.2.0 image,
|
||||
- X11 & Pulse ready,
|
||||
- user_add_exec installed.
|
||||
|
44
bin/run.sh
Executable file
44
bin/run.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/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
|
||||
|
||||
|
||||
|
||||
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 /usr/local/sbin/user_add_exec ${USER_ID} ${USER} ${HOME} ${GROUP_ID} ${GROUP_NAME} ${APPL_DIR}/${APPL_NAME} $*
|
60
compose.yaml
60
compose.yaml
@ -1,40 +1,56 @@
|
||||
# Rx3 X11 Pulse Mageia-9 Docker Image
|
||||
# Rx3-Docker/X11-Pulse Docker Image
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
name: ${IMG_NAME}
|
||||
name: ${XP_IMG_NAME}
|
||||
|
||||
services:
|
||||
default:
|
||||
container_name: ${IMG_NAME}
|
||||
image: docker.xor.rx3:5000/rx3/${IMG_NAME}:${IMG_VERSION}
|
||||
|
||||
x11-pulse:
|
||||
container_name: ${XP_HOST_NAME}
|
||||
hostname: ${XP_HOST_NAME}
|
||||
|
||||
image: ${XP_IMG_URL}
|
||||
|
||||
build:
|
||||
context: .
|
||||
context: .
|
||||
args:
|
||||
- IMG_NAME=${IMG_NAME}
|
||||
- IMG_FULL_NAME=${IMG_FULL_NAME}
|
||||
- IMG_VERSION=${IMG_VERSION}
|
||||
- IMG_MAINTAINER=${IMG_MAINTAINER}
|
||||
IMG_NAME: ${XP_IMG_NAME}
|
||||
IMG_NAME_FULL: ${XP_IMG_NAME_FULL}
|
||||
IMG_VERSION: ${XP_IMG_VERSION}
|
||||
IMG_MAINTAINER: ${XP_IMG_MAINTAINER}
|
||||
IMG_FROM_URL: ${XP_IMG_FROM_URL}
|
||||
|
||||
restart: unless-stopped
|
||||
restart: unless-stopped
|
||||
|
||||
environment:
|
||||
- DISPLAY=:0
|
||||
DISPLAY: ":0"
|
||||
|
||||
volumes:
|
||||
- home_dir:/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_HOME_DIR}
|
||||
target: ${APPL_HOME_DIR}
|
||||
- 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}
|
||||
|
||||
network_mode: bridge
|
||||
|
||||
volumes:
|
||||
home_dir:
|
||||
external: true
|
||||
|
||||
|
||||
networks:
|
||||
internet:
|
||||
driver: bridge
|
||||
internal: false # Allow internet access
|
||||
|
||||
no-internet:
|
||||
driver: bridge
|
||||
internal: true # Block internet access
|
||||
|
42
env.dist
Normal file
42
env.dist
Normal file
@ -0,0 +1,42 @@
|
||||
# Rx3-Docker/X11-Pulse 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
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
HOST_NAME_PREFIX=""
|
||||
|
||||
PORT_ENV_OFFSET=0
|
||||
PORT_SV_OFFSET=1000
|
||||
|
||||
|
||||
#------------------+----------+--------------------+--------------------------+------------------------------------------+------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||
# | Variable | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
|
||||
# | Prefix | URL Prefix | Name | Name Full + Version | URL Prefix | Name + Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
|
||||
#------------------+----------+--------------------+--------------------------+------------------------------------------+------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
|
||||
|
||||
docker_service_add XP ${ORG_URL_PREFIX} x11-pulse "Rx3-Docker X11 Pulse Docker Image" 1.2.0-mga9 ${ORG_URL_PREFIX} base 1.3.0-mga9 - - - - - - - -
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# User Settings (overwrited at run time)
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
USER_ID=""
|
||||
APPL_DIR=""
|
||||
APPL_NETWORK="no-internet"
|
16
run.sh
16
run.sh
@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
export APPL_HOME_DIR="$1"
|
||||
shift
|
||||
|
||||
export APPL_NAME="$1"
|
||||
shift
|
||||
|
||||
|
||||
|
||||
export USER_ID=$(id -u)
|
||||
export GROUP_ID=$(id -g)
|
||||
export GROUP_NAME=$(id -gn)
|
||||
|
||||
|
||||
docker compose run --rm default /sbin/user_add_exec ${USER_ID} ${USER} ${HOME} ${GROUP_ID} ${GROUP_NAME} ${APPL_HOME_DIR}/${APPL_NAME} $*
|
@ -8,8 +8,18 @@ done
|
||||
|
||||
|
||||
|
||||
echo "User Add & Exec: User_Id: (${User_Id}) User_Name: [${User_Name}] Home_Dir: [${Home_Dir}] Group_Id: (${Group_Id}) Group_Name: [${Group_Name}]"
|
||||
echo " Display: [${DISPLAY}] Cmd: [${*}]"
|
||||
echo "User Add & Exec: User_Id: (${User_Id}) User_Name: [${User_Name}] Home_Dir: [${Home_Dir}] Group_Id: (${Group_Id}) Group_Name: [${Group_Name}]"
|
||||
echo -n " Display: [${DISPLAY}] Cmd: [$1]"
|
||||
|
||||
i=2
|
||||
|
||||
while [[ $i -le $# ]]
|
||||
do
|
||||
echo -n " [${!i}]"
|
||||
i=$(($i + 1))
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
|
||||
@ -36,7 +46,8 @@ chown ${User_Name}:${Group_Name} /run/user/${User_Id}
|
||||
|
||||
|
||||
echo "Exec Cmd..."
|
||||
#echo "su - -P ${User_Name} -c \"$*\""
|
||||
|
||||
su - -P ${User_Name} -c $*
|
||||
su - -P ${User_Name} -c "$*"
|
||||
|
||||
echo "Completed!"
|
Loading…
Reference in New Issue
Block a user