mrrl-containers

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

commit 6fad3005ddfcaea3827089ed1e31bf12ebe12e75
parent 27adfc9f1912184eeb8ae74d7fd771d4ae22bba1
Author: ccx <ccx@te2000.cz>
Date:   Sun, 24 Mar 2024 18:43:48 +0000

Rework site_containers_user_check, alpine-gpg

Diffstat:
Mzsh-functions/confz_site_containers_init | 101+++++++++++++++++++++++++------------------------------------------------------
1 file changed, 32 insertions(+), 69 deletions(-)

diff --git a/zsh-functions/confz_site_containers_init b/zsh-functions/confz_site_containers_init @@ -72,7 +72,7 @@ confz_site_containers_xorg_check() { confz_site_containers_user_check() { checkvars containers_dir svscan_dir user - local display container bind bind_dir bindroot chome uid gid + local display container param bind bind_dir bindroot chome uid gid local -a fstab bind=$'\tnone\tbind,nosuid,nodev\t0 0' uid="${${(s.:.)"$(getent passwd $vars[user])"}[3]}" \ @@ -83,64 +83,38 @@ confz_site_containers_user_check() { display_number=$display image_name=alpine-xsession \ :containers_dir :svscan_dir :user done - local -a generic=( - alpine-{browsers,ssh,socials} # ,office} - void-signal - void-telegram - # void-games - # nix-signal - pentoo + local -A container_img=( + {,}alpine-browsers + {,}pentoo + {,alpine-}{weechat,senpai,profanity,gomuks,mail,testssl,tor,ssh,socials,gpg} + {,void-}{signal,telegram} + recombee-browser void-browsers + te2000-browser void-browsers + twitch void-browsers + neonmodem alpine-go + simplex alpine-haskell + spark $'alpine-dev-spark\0mount_rw=ccx-bzr ccx-git' + sndiod alpine-sndio + mpd $'void-mpd\0mount_ro=audio' + alpine-recombee $'alpine-recombee\0mount_rw=ccx-git-recombee' ) - for container in $generic; do - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - image_name=$container - done - for container in weechat senpai profanity gomuks mail testssl tor; do - require site_containers_usersvc_simple \ + local -A container_type=( + sndiod alsa + ) + for container param in ${(kv)container_img}; do + require site_containers_usersvc_${container_type[$container]:-simple} \ :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - container_name=$container image_name=alpine-$container + container_name=$container image_name=${(0)param} done - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - container_name=neonmodem image_name=alpine-go - - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - container_name=simplex image_name=alpine-haskell - - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - mount_rw="ccx-bzr ccx-git" \ - container_name=spark image_name=alpine-dev-spark - - # void-recombee-browser - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - image_name=void-browsers container_name=void-recombee-browser - - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - image_name=void-browsers container_name=void-te2000-browser - - require site_containers_usersvc_simple \ - :containers_dir :svscan_dir :user uid=$uid gid=$gid \ - image_name=void-browsers container_name=twitch - - container=alpine-sndio - bindroot=$vars[containers_dir]/user/$vars[user]/$container/root - require container_service_alsa \ - image_name=$container \ - :containers_dir :svscan_dir :user - - container=void-mpd - bindroot=$vars[containers_dir]/user/$vars[user]/$container/root - require container_service_generic \ - image_name=$container \ - :containers_dir :svscan_dir :user \ - mnt_dirs_extra=audio \ - fstab_extra=/mnt/volumes/audio$'\t'$bindroot/mnt/audio$'\tnone\tbind,ro,nosuid,nodev\t0 0' + # local -a generic=( + # alpine-{browsers,ssh,socials} # ,office} + # void-signal + # void-telegram + # # void-games + # # nix-signal + # pentoo + # ) # container=alpine-dev # bindroot=$vars[containers_dir]/user/$vars[user]/$container/root @@ -152,20 +126,6 @@ confz_site_containers_user_check() { # require container_service_generic \ # image_name=$container fstab_extra=${(F)fstab} \ # :containers_dir :svscan_dir :user - - container=alpine-recombee - chome=$vars[containers_dir]/user/$vars[user]/$container/home - # this creates the homedir as a side effect - require container_service_generic \ - image_name=$container fstab_extra=${(F)fstab} \ - :containers_dir :svscan_dir :user - bindroot=$vars[containers_dir]/user/$vars[user]/$container/root - # bind-mounts for alpine-recombee - require fs_d filename=$chome/$vars[user]/git - require fs_o filename=$chome/$vars[user]/git owner=$uid:$gid - require fs_d filename=$chome/$vars[user]/git/recombee - require fs_o filename=$chome/$vars[user]/git/recombee owner=$uid:$gid - fstab=( /home/$vars[user]/git/recombee$'\t'$bindroot/home/$vars[user]/git/recombee$bind ) } confz_site_container_services_check() { @@ -331,6 +291,9 @@ confz_site_container_images_check() { packages="$alpine_dev_core go" require site_container_alpine :containers_dir :svscan_dir \ + image_name=alpine-gnupg packages="$alpine_terminal gnupg gnupg-scdaemon" + + require site_container_alpine :containers_dir :svscan_dir \ image_name=alpine-ssh packages="$alpine_terminal openssh dropbear make" local -a alpine_weechat=(