Compare commits

..

No commits in common. "master" and "x11-pulse-mga9-1.1.0" have entirely different histories.

8 changed files with 30 additions and 150 deletions

11
.env Normal file
View File

@ -0,0 +1,11 @@
# 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=""

View File

@ -1,7 +1,7 @@
# Rx3 X11 Pulse Mageia-9 Docker Image # Rx3 X11 Pulse Mageia-9 Docker Image
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
FROM docker.xor.rx3:5000/rx3/base-mga9:1.2.6 FROM docker.xor.rx3:5000/rx3/base-mga9:1.2.0
ARG IMG_NAME ARG IMG_NAME
ARG IMG_FULL_NAME ARG IMG_FULL_NAME

View File

@ -1,18 +1,17 @@
Welcome to RX3/X11-Pulse-Mga9 docker image! Welcome to X11-Pulse-Mga9 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 + Mageia-9 docker image able to run any graphic & audio application isolated.
Features: Features:
- Curtently based on base-mga9:1.2.4 image, - Curtently based on base-mga9:1.2.0 image,
- X11 & Pulse base libraries installed, - X11 & Pulse base libraries installed,
- Target user & group created on the run, - user_add_exec program to create on the run the user environement.
- Optional output internet routing.
Usage: Usage:
./run.sh [-h] [-i] <Application Dir> <Application Exec> [Args...] ./run.sh <Application Dir> <Application Exec>
Enjoy it! Enjoy it!

View File

@ -1,49 +1,5 @@
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
Rx3/X11-Pulse-Mga9 V 1.1.5 - A. GIBERT - 2024/10/07 X11-Pulse-Mga9 V 1.1.0 - A. GIBERT - 2024/08/23
------------------------------------------------------------------------------------------------------------------------------------
- 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... - Remove Emacs to lighten the image weight...
@ -51,10 +7,10 @@ Rx3/X11-Pulse-Mga9 V 1.1.0 - A. GIBERT - 2024/08/23
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
Rx3/X11-Pulse-Mga9 V 1.0.0 - A. GIBERT - 2024/08/23 X11-Pulse-Mga9 V 1.0.0 - A. GIBERT - 2024/08/23
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
- Initial release, - Initial release,
- Based on rx3/base-mga9:1.2.0 image, - Use based on base-mga9:1.2.0 image,
- X11 & Pulse ready, - X11 & Pulse ready,
- user_add_exec installed. - user_add_exec installed.

View File

@ -6,8 +6,7 @@ name: ${IMG_NAME}
services: services:
default: default:
container_name: ${IMG_NAME} container_name: ${IMG_NAME}
image: docker.xor.rx3:5000/rx3/${IMG_NAME}:${IMG_VERSION}
image: ${IMG_URL}
build: build:
context: . context: .
@ -20,7 +19,7 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
DISPLAY: ":0" - DISPLAY=:0
volumes: volumes:
- home_dir:/home - home_dir:/home
@ -31,24 +30,11 @@ services:
source: /run/user/${USER_ID}/pulse source: /run/user/${USER_ID}/pulse
target: /run/user/${USER_ID}/pulse target: /run/user/${USER_ID}/pulse
- type: bind - type: bind
source: "${APPL_DIR}" source: ${APPL_HOME_DIR}
target: "${APPL_DIR}" target: ${APPL_HOME_DIR}
networks:
- ${APPL_NETWORK}
network_mode: bridge
volumes: volumes:
home_dir: home_dir:
external: true external: true
networks:
internet:
driver: bridge
internal: false # Allow internet access
no-internet:
driver: bridge
internal: true # Block internet access

33
env
View File

@ -1,33 +0,0 @@
# Rx3 X11 Pulse Mageia-9 Docker Image
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Global Settings
#-------------------------------------------------------------------------------
IMG_ORG="rx3"
IMG_REGISTRY="docker.xor.rx3:5000"
IMG_URL_PREFIX="${IMG_REGISTRY}/${IMG_ORG}"
#-------------------------------------------------------------------------------
# Image Settings
#-------------------------------------------------------------------------------
IMG_NAME="x11-pulse-mga9"
IMG_FULL_NAME="Rx3 X11 Pulse Mageia-9 Docker Image"
IMG_VERSION="1.1.5"
IMG_URL="${IMG_URL_PREFIX}/${IMG_NAME}:${IMG_VERSION}"
IMG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
#-------------------------------------------------------------------------------
# User Settings (overwrited at run time)
#-------------------------------------------------------------------------------
USER_ID=""
APPL_DIR=""
APPL_NETWORK="no-internet"

32
run.sh
View File

@ -1,30 +1,6 @@
#!/bin/bash #!/bin/bash
set -o errexit export APPL_HOME_DIR="$1"
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 shift
export APPL_NAME="$1" export APPL_NAME="$1"
@ -37,8 +13,4 @@ export GROUP_ID=$(id -g)
export GROUP_NAME=$(id -gn) export GROUP_NAME=$(id -gn)
cd "${APPL_HOME_DIR}" docker compose run --rm default /sbin/user_add_exec ${USER_ID} ${USER} ${HOME} ${GROUP_ID} ${GROUP_NAME} ${APPL_HOME_DIR}/${APPL_NAME} $*
sbin/docker_mk_env
docker compose run --rm default /sbin/user_add_exec ${USER_ID} ${USER} ${HOME} ${GROUP_ID} ${GROUP_NAME} ${APPL_DIR}/${APPL_NAME} $*

View File

@ -9,17 +9,7 @@ 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 "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]" echo " Display: [${DISPLAY}] Cmd: [${*}]"
i=2
while [[ $i -le $# ]]
do
echo -n " [${!i}]"
i=$(($i + 1))
done
echo ""
echo "" echo ""
@ -46,8 +36,7 @@ chown ${User_Name}:${Group_Name} /run/user/${User_Id}
echo "Exec Cmd..." echo "Exec Cmd..."
#echo "su - -P ${User_Name} -c \"$*\""
su - -P ${User_Name} -c "$*" su - -P ${User_Name} -c $*
echo "Completed!" echo "Completed!"