# Prepare the docker ``` apt update apt upgrade apt install git pkg-config libssl-dev curl mc argon2 ca-certificates net-tools lynx install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin echo "{" > /etc/docker/daemon.json echo ' "iptables": false' >> /etc/docker/daemon.json echo "}" >> /etc/docker/daemon.json systemctl restart docker sed -i -e 's/DEFAULT_FORWARD_POLICY="DROP"/DEFAULT_FORWARD_POLICY="ACCEPT"/g' /etc/default/ufw ufw reload iptables -t nat -A POSTROUTING ! -o docker0 -s 172.18.0.0/16 -j MASQUERADE ufw allow in on docker0 ufw route allow in on docker0 ufw route allow out on docker0 ufw allow 22 ufw allow 443 ufw enable ufw status verbose mkdir -p /docker/compose/mysql mkdir -p /docker/compose/limesurvey ```