From 36d78d83b447799785eb610468cf2326e3d455e4 Mon Sep 17 00:00:00 2001 From: tteckster Date: Tue, 27 Dec 2022 08:01:03 -0500 Subject: [PATCH] Update docker-v4.sh fuse-overlayfs option if created privileged, automatic usb passthrough --- ct/docker-v4.sh | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/ct/docker-v4.sh b/ct/docker-v4.sh index 1a6d2d50..326fb3f9 100644 --- a/ct/docker-v4.sh +++ b/ct/docker-v4.sh @@ -97,8 +97,10 @@ function default_settings() { MAC="" echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}" VLAN="" - echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}" + echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}" SSH="no" + echo -e "${DGN}(ZFS) Enable Fuse Overlayfs: ${BGN}No${CL}" + FUSE="no" echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}" VERB="no" echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}" @@ -250,6 +252,13 @@ function advanced_settings() { echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}" SSH="no" fi + if (whiptail --defaultno --title "FUSE OVERLAYFS" --yesno "(ZFS) Enable Fuse Overlayfs?" 10 58); then + echo -e "${DGN}(ZFS) Enable Fuse Overlayfs: ${BGN}Yes${CL}" + FUSE="yes" + else + echo -e "${DGN}(ZFS) Enable Fuse Overlayfs: ${BGN}No${CL}" + FUSE="no" + fi if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}" VERB="yes" @@ -280,13 +289,14 @@ function start_script() { clear start_script if [ "$VERB" == "yes" ]; then set -x; fi -if [ "$CT_TYPE" == "1" ]; then - FEATURES="nesting=1,keyctl=1" +if [ "$FUSE" == "yes" ]; then +FEATURES="fuse=1,keyctl=1,nesting=1" else - FEATURES="nesting=1" +FEATURES="keyctl=1,nesting=1" fi TEMP_DIR=$(mktemp -d) pushd $TEMP_DIR >/dev/null +export ST=$FUSE export VERBOSE=$VERB export SSH_ROOT=${SSH} export CTID=$CT_ID @@ -311,6 +321,18 @@ cat <>$LXC_CONFIG lxc.cgroup2.devices.allow: a lxc.cap.drop: EOF +if [ "$CT_TYPE" == "0" ]; then +LXC_CONFIG=/etc/pve/lxc/${CTID}.conf +cat <>$LXC_CONFIG +lxc.cgroup2.devices.allow: c 188:* rwm +lxc.cgroup2.devices.allow: c 189:* rwm +lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir +lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file +lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=file +lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file +lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file +EOF +fi msg_info "Starting LXC Container" pct start $CTID msg_ok "Started LXC Container"