|
|
|
@ -50,6 +50,18 @@ function cleanup() {
|
|
|
|
|
TEMP_DIR=$(mktemp -d)
|
|
|
|
|
pushd $TEMP_DIR >/dev/null
|
|
|
|
|
|
|
|
|
|
function load_module() {
|
|
|
|
|
if ! $(lsmod | grep -Fq $1); then
|
|
|
|
|
modprobe $1 &>/dev/null || \
|
|
|
|
|
die "Failed to load '$1' module."
|
|
|
|
|
fi
|
|
|
|
|
MODULES_PATH=/etc/modules
|
|
|
|
|
if ! $(grep -Fxq "$1" $MODULES_PATH); then
|
|
|
|
|
echo "$1" >> $MODULES_PATH || \
|
|
|
|
|
die "Failed to add '$1' module to load at boot."
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Create LXC
|
|
|
|
|
export CTID=$(pvesh get /cluster/nextid)
|
|
|
|
|
export PCT_OSTYPE=debian
|
|
|
|
@ -71,10 +83,6 @@ if [ "$STORAGE_TYPE" == "zfspool" ]; then
|
|
|
|
|
warn "Some addons may not work due to ZFS not supporting 'fallocate'."
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Download setup script
|
|
|
|
|
#REPO="https://github.com/tteck/Proxmox"
|
|
|
|
|
#wget -qO - ${REPO}/tarball/master | tar -xz --strip-components=1
|
|
|
|
|
|
|
|
|
|
# Modify LXC permissions to support Docker
|
|
|
|
|
LXC_CONFIG=/etc/pve/lxc/${CTID}.conf
|
|
|
|
|
cat <<EOF >> $LXC_CONFIG
|
|
|
|
@ -82,13 +90,7 @@ lxc.cgroup2.devices.allow: a
|
|
|
|
|
lxc.cap.drop:
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
# Load modules for Docker before starting LXC
|
|
|
|
|
cat << 'EOF' >> $LXC_CONFIG
|
|
|
|
|
lxc.hook.pre-start: sh -ec 'do modinfo $module; $(lsmod | grep -Fq $module) || modprobe $module; done;'
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
# Set autodev hook to enable access to devices in container
|
|
|
|
|
#bash ./set_autodev_hook.sh $CTID
|
|
|
|
|
load_module overlay
|
|
|
|
|
|
|
|
|
|
# Set container timezone to match host
|
|
|
|
|
cat << 'EOF' >> $LXC_CONFIG
|
|
|
|
|