Compare commits
5 Commits
x11-pulse-
...
x11-pulse-
| Author | SHA1 | Date | |
|---|---|---|---|
| 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=""
|
|
||||||
@@ -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.0
|
FROM docker.xor.rx3:5000/rx3/base-mga9:1.2.6
|
||||||
|
|
||||||
ARG IMG_NAME
|
ARG IMG_NAME
|
||||||
ARG IMG_FULL_NAME
|
ARG IMG_FULL_NAME
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
Welcome to X11-Pulse-Mga9 docker image!
|
Welcome to RX3/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.0 image,
|
- Curtently based on base-mga9:1.2.4 image,
|
||||||
- X11 & Pulse base libraries installed,
|
- 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:
|
Usage:
|
||||||
./run.sh <Application Dir> <Application Exec>
|
./run.sh [-h] [-i] <Application Dir> <Application Exec> [Args...]
|
||||||
|
|
||||||
|
|
||||||
Enjoy it!
|
Enjoy it!
|
||||||
|
|||||||
@@ -1,5 +1,49 @@
|
|||||||
------------------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
X11-Pulse-Mga9 V 1.1.0 - A. GIBERT - 2024/08/23
|
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...
|
- Remove Emacs to lighten the image weight...
|
||||||
@@ -7,10 +51,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,
|
- Initial release,
|
||||||
- Use based on base-mga9:1.2.0 image,
|
- Based on rx3/base-mga9:1.2.0 image,
|
||||||
- X11 & Pulse ready,
|
- X11 & Pulse ready,
|
||||||
- user_add_exec installed.
|
- user_add_exec installed.
|
||||||
|
|||||||
26
compose.yaml
26
compose.yaml
@@ -6,7 +6,8 @@ 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: .
|
||||||
@@ -19,7 +20,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
- DISPLAY=:0
|
DISPLAY: ":0"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- home_dir:/home
|
- home_dir:/home
|
||||||
@@ -30,11 +31,24 @@ 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_HOME_DIR}
|
source: "${APPL_DIR}"
|
||||||
target: ${APPL_HOME_DIR}
|
target: "${APPL_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
Normal file
33
env
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# 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
32
run.sh
@@ -1,6 +1,30 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
export APPL_HOME_DIR="$1"
|
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
|
shift
|
||||||
|
|
||||||
export APPL_NAME="$1"
|
export APPL_NAME="$1"
|
||||||
@@ -13,4 +37,8 @@ export GROUP_ID=$(id -g)
|
|||||||
export GROUP_NAME=$(id -gn)
|
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} $*
|
cd "${APPL_HOME_DIR}"
|
||||||
|
|
||||||
|
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} $*
|
||||||
|
|||||||
@@ -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 "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 -n " Display: [${DISPLAY}] Cmd: [$1]"
|
||||||
|
|
||||||
|
i=2
|
||||||
|
|
||||||
|
while [[ $i -le $# ]]
|
||||||
|
do
|
||||||
|
echo -n " [${!i}]"
|
||||||
|
i=$(($i + 1))
|
||||||
|
done
|
||||||
|
|
||||||
|
echo ""
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
@@ -36,7 +46,8 @@ 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!"
|
||||||
|
|||||||
Reference in New Issue
Block a user