mrrl-containers

MRRL version of container scripts
git clone https://ccx.te2000.cz/git/mrrl-containers
Log | Files | Refs

commit e0bfe13751f50ff2ea81859704ffa0605bf5d0dd
parent 34fd3229bdbebea0c26ac24b58fc353f9dcec66b
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Wed, 16 Dec 2020 22:55:20 +0100

Don't interpolate root and fstab locations, put them in ./data instead (symlink is fine).
Diffstat:
Mservice_scripts/generic/finish | 4++--
Mservice_scripts/generic/run | 6+++---
Mservice_scripts/xsession/finish | 4++--
Mservice_scripts/xsession/run | 6+++---
4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/service_scripts/generic/finish b/service_scripts/generic/finish @@ -6,7 +6,7 @@ multisubstitute { } multisubstitute { define CONTAINER_TMPFS /run/containers/${CONTAINER_NAME}.${CONTAINER_USER} - define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} +# define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} } -foreground { umount --recursive ${CONTAINER_DATA}/union } +foreground { umount --recursive data/root } rm -rf ${CONTAINER_TMPFS} diff --git a/service_scripts/generic/run b/service_scripts/generic/run @@ -10,14 +10,14 @@ backtick -in CONTAINER_USER_HOME { homeof $CONTAINER_USER } multisubstitute { importas -i CONTAINER_USER_HOME CONTAINER_USER_HOME define CONTAINER_TMPFS /run/containers/${CONTAINER_NAME}.${CONTAINER_USER} - define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} +# define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} define -s tmpfs_dirs "home run tmp inbox run/inbox tmp/.X11-unix" } if { rm -rf ${CONTAINER_TMPFS} } if { mkdir -p ${CONTAINER_TMPFS}/${tmpfs_dirs} } if { chmod 1770 ${CONTAINER_TMPFS}/${tmpfs_dirs} } if { chown root:${CONTAINER_USER} ${CONTAINER_TMPFS}/${tmpfs_dirs} } -if { mount -a --fstab /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME}/fstab } +if { mount -a --fstab data/fstab } s6-envuidgid -B ${CONTAINER_USER}:${CONTAINER_USER} multisubstitute { importas -i UID UID importas -i GID GID } env @@ -25,5 +25,5 @@ env RUN_CHOWN=${UID}:${GID} NS_EXTRA="if { mount -o bind,ro /etc/passwd etc/passwd } if { mount -o bind,ro /etc/group etc/group }" s6-envuidgid ${CONTAINER_USER} -/root/ns_run /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME}/union +/root/ns_run data/root /mnt/ns/bin/s6-applyuidgid -U ${CONTAINER_USER_HOME}/run/init diff --git a/service_scripts/xsession/finish b/service_scripts/xsession/finish @@ -6,12 +6,12 @@ multisubstitute { } multisubstitute { define CONTAINER_TMPFS /run/containers/${CONTAINER_NAME}.${CONTAINER_USER} - define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} +# define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} } foreground { umount ${CONTAINER_TMPFS}/home } foreground { umount ${CONTAINER_TMPFS}/run } foreground { umount ${CONTAINER_TMPFS}/inbox } foreground { umount ${CONTAINER_TMPFS}/tmp } -foreground { umount --recursive ${CONTAINER_DATA}/root } +foreground { umount --recursive data/root/ } rm -rf ${CONTAINER_TMPFS} #rm -rf /run/containers/xsession.6.ccx diff --git a/service_scripts/xsession/run b/service_scripts/xsession/run @@ -8,21 +8,21 @@ backtick -in CONTAINER_USER_HOME { homeof $CONTAINER_USER } multisubstitute { importas -i CONTAINER_USER_HOME CONTAINER_USER_HOME define CONTAINER_TMPFS /run/containers/${CONTAINER_NAME}.${CONTAINER_USER} - define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} +# define CONTAINER_DATA /mnt/volumes/containers/user/${CONTAINER_USER}/${CONTAINER_NAME} define -s tmpfs_dirs "home run tmp inbox run/inbox tmp/.X11-unix" } if { rm -rf ${CONTAINER_TMPFS} } if { mkdir -p ${CONTAINER_TMPFS}/${tmpfs_dirs} } if { chmod 1770 ${CONTAINER_TMPFS}/${tmpfs_dirs} } if { chown root:${CONTAINER_USER} ${CONTAINER_TMPFS}/${tmpfs_dirs} } -if { mount -a --fstab ${CONTAINER_DATA}/fstab } +if { mount -a --fstab data/fstab } s6-envuidgid ${CONTAINER_USER} if { env HOME=${CONTAINER_USER_HOME} s6-applyuidgid -U ${CONTAINER_USER_HOME}/xsession-setup ${CONTAINER_TMPFS} 6 } env HOST=carbon NS_EXTRA="if { mount -o bind,ro /etc/passwd etc/passwd } if { mount -o bind,ro /etc/group etc/group }" unshare -n -/root/ns_run ${CONTAINER_DATA}/root /mnt/ns/bin/s6-applyuidgid -U /run/init +/root/ns_run data/root /mnt/ns/bin/s6-applyuidgid -U /run/init # if { rm -rf /run/containers/xsession.6.ccx }