Update docker-v4.sh

fuse-overlayfs option
if created privileged, automatic usb passthrough
This commit is contained in:
tteckster 2022-12-27 08:01:03 -05:00 committed by GitHub
parent 93c9e0494a
commit 36d78d83b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -97,8 +97,10 @@ function default_settings() {
MAC="" MAC=""
echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}" echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}"
VLAN="" VLAN=""
echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}" echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
SSH="no" SSH="no"
echo -e "${DGN}(ZFS) Enable Fuse Overlayfs: ${BGN}No${CL}"
FUSE="no"
echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}" echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
VERB="no" VERB="no"
echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}" 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}" echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
SSH="no" SSH="no"
fi 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 if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}" echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}"
VERB="yes" VERB="yes"
@ -280,13 +289,14 @@ function start_script() {
clear clear
start_script start_script
if [ "$VERB" == "yes" ]; then set -x; fi if [ "$VERB" == "yes" ]; then set -x; fi
if [ "$CT_TYPE" == "1" ]; then if [ "$FUSE" == "yes" ]; then
FEATURES="nesting=1,keyctl=1" FEATURES="fuse=1,keyctl=1,nesting=1"
else else
FEATURES="nesting=1" FEATURES="keyctl=1,nesting=1"
fi fi
TEMP_DIR=$(mktemp -d) TEMP_DIR=$(mktemp -d)
pushd $TEMP_DIR >/dev/null pushd $TEMP_DIR >/dev/null
export ST=$FUSE
export VERBOSE=$VERB export VERBOSE=$VERB
export SSH_ROOT=${SSH} export SSH_ROOT=${SSH}
export CTID=$CT_ID export CTID=$CT_ID
@ -311,6 +321,18 @@ cat <<EOF >>$LXC_CONFIG
lxc.cgroup2.devices.allow: a lxc.cgroup2.devices.allow: a
lxc.cap.drop: lxc.cap.drop:
EOF EOF
if [ "$CT_TYPE" == "0" ]; then
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
cat <<EOF >>$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" msg_info "Starting LXC Container"
pct start $CTID pct start $CTID
msg_ok "Started LXC Container" msg_ok "Started LXC Container"