mrrl-containers

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

commit 7decc170155a8329e5b3139f4083f2af8ae5cf2d
parent 5048139078c1dbfc5de3cc30a905754d44991467
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Sat, 25 Jun 2022 21:25:22 +0200

Refactor simple container creation, add void-recombee-browser
Diffstat:
Mzsh-functions/confz_site_containers_init | 44+++++++++++++++++++++++++++++++-------------
1 file changed, 31 insertions(+), 13 deletions(-)

diff --git a/zsh-functions/confz_site_containers_init b/zsh-functions/confz_site_containers_init @@ -1,5 +1,22 @@ # vim: ft=zsh noet ts=4 sts=4 sw=4 +confz_site_containers_user_simple_check() { + checkvars containers_dir svscan_dir user uid gid image_name + local display container bind bind_dir bindroot uid gid + + bindroot=$vars[containers_dir]/user/$vars[user]/$container/root + require container_service_generic \ + :image_name \?container_name \ + mnt_dirs_extra=init \ + fstab_extra=/home/$vars[user]/bzr/container-user-init$'\t'$bindroot/mnt/init$'\tnone\tbind,ro,nosuid,nodev\t0 0' \ + :containers_dir :svscan_dir :user + local chome=$vars[containers_dir]/user/$vars[user]/$container/home/$vars[user] + if ! [[ -d $chome/run ]]; then + require fs_l filename=$chome/run destination=/mnt/init + require fs_o filename=$chome/run owner=$uid:$gid + fi + +} confz_site_containers_user_check() { checkvars containers_dir svscan_dir user local display container bind bind_dir bindroot uid gid @@ -13,21 +30,22 @@ confz_site_containers_user_check() { display_number=$display image_name=alpine-xsession \ :containers_dir :svscan_dir :user done - for container in alpine-{games,browsers,ssh} void-musl-gajim void-signal nix-signal; do - bindroot=$vars[containers_dir]/user/$vars[user]/$container/root - require container_service_generic \ - image_name=$container \ - mnt_dirs_extra=init \ - fstab_extra=/home/$vars[user]/bzr/container-user-init$'\t'$bindroot/mnt/init$'\tnone\tbind,ro,nosuid,nodev\t0 0' \ - \ - :containers_dir :svscan_dir :user - local chome=$vars[containers_dir]/user/$vars[user]/$container/home/$vars[user] - if ! [[ -d $chome/run ]]; then - require fs_l filename=$chome/run destination=/mnt/init - require fs_o filename=$chome/run owner=$uid:$gid - fi + local -a generic=( + alpine-{games,browsers,ssh} + void-musl-gajim + void-signal + nix-signal + ) + for container in $generic; do + require containers_user_simple \ + :containers_dir :svscan_dir :user uid=$uid gid=$gid \ + image_name=$container done + require containers_user_simple \ + :containers_dir :svscan_dir :user uid=$uid gid=$gid \ + image_name=void-browsers container_name=void-recombee-browser + bindroot=$vars[containers_dir]/user/$vars[user]/alpine-jack/root require container_service_alsa \ image_name=alpine-jack \