#!/bin/bash
mount -o remount,rw /usr
cd /usr/local/bin
mkdir evil_apt
mv apt* dpkg evil_apt/
cd /usr/bin
chmod +x apt* dpkg
mount -o remount,ro /usr
Write to /etc/docker/daemon.json
:
{
"data-root": "/mnt/data/srv/docker",
"storage-driver": "zfs",
"ipv6": true,
"fixed-cidr-v6": "fd00:beef:8500::/48"
}
Run:
zfs create -r data/srv/docker
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt install docker-ce
apt install dhcpcd
systemctl enable dhcpcd
docker pull robbertkl/ipv6nat
docker run -d --name ipv6nat --cap-drop ALL --cap-add NET_ADMIN --cap-add NET_RAW --cap-add SYS_MODULE --network host --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock:ro -v /lib/modules:/lib/modules:ro robbertkl/ipv6nat
docker run -d -p 127.0.0.1:9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/data/srv/portainer:/data --network=services --hostname=portainer --domainname=nas.cslab.moe portainer/portainer-ce:latest
Profit!