#!/bin/bash set -x : ${LXC_IP_RANGE:=10.0.8} 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 cat >> /etc/default/lxc-net <<EOF LXC_ADDR="$LXC_IP_RANGE.1" LXC_NETMASK="255.255.255.0" LXC_NETWORK="$LXC_IP_RANGE.0/24" LXC_DHCP_RANGE="$LXC_IP_RANGE.2,$LXC_IP_RANGE.254" 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() { install_other install_docker install_lxc } setup