2023-03-25 12:36:27 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -x
|
|
|
|
|
2023-03-29 18:27:54 -04:00
|
|
|
: ${LXC_IP_PREFIX:=10.0.8}
|
2023-03-25 14:14:55 -04:00
|
|
|
|
2023-03-25 12:36:27 -04:00
|
|
|
function install_docker() {
|
|
|
|
if ! systemctl is-active --quiet docker; then
|
|
|
|
echo deb http://deb.debian.org/debian bullseye-backports main | tee /etc/apt/sources.list.d/backports.list && apt-get update
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --quiet -y -t bullseye-backports git docker.io
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_lxc() {
|
|
|
|
if ! systemctl is-active --quiet lxc-net; then
|
|
|
|
apt-get update
|
|
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq make git libvirt0 libpam-cgfs bridge-utils uidmap dnsmasq-base dnsmasq dnsmasq-utils qemu-user-static
|
|
|
|
systemctl disable --now dnsmasq
|
|
|
|
apt-get install -y -qq lxc
|
|
|
|
systemctl stop lxc-net
|
2023-03-25 14:14:55 -04:00
|
|
|
cat >> /etc/default/lxc-net <<EOF
|
2023-03-29 18:27:54 -04:00
|
|
|
LXC_ADDR="$LXC_IP_PREFIX.1"
|
2023-03-25 12:36:27 -04:00
|
|
|
LXC_NETMASK="255.255.255.0"
|
2023-03-29 18:27:54 -04:00
|
|
|
LXC_NETWORK="$LXC_IP_PREFIX.0/24"
|
|
|
|
LXC_DHCP_RANGE="$LXC_IP_PREFIX.2,$LXC_IP_PREFIX.254"
|
2023-03-25 12:36:27 -04:00
|
|
|
LXC_DHCP_MAX="253"
|
|
|
|
EOF
|
|
|
|
systemctl start lxc-net
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_other() {
|
|
|
|
local packages="sudo"
|
|
|
|
if ! which $packages ; then
|
|
|
|
apt-get install -y -qq $packages
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function setup() {
|
2023-03-25 13:21:44 -04:00
|
|
|
install_other
|
2023-03-25 12:36:27 -04:00
|
|
|
install_docker
|
|
|
|
install_lxc
|
|
|
|
}
|
|
|
|
|
|
|
|
setup
|