46 lines
1.3 KiB
Bash
Executable file
46 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/bash
|
|
|
|
if [[ $(whoami) == "root" ]]; then
|
|
echo "Do not run this script as root."
|
|
exit
|
|
fi
|
|
|
|
|
|
while ! [[ "$podman_mode" =~ ^(rootful|rootless)$ ]]; do
|
|
read -rp "Rootful or rootless Podman? " podman_mode
|
|
done
|
|
|
|
|
|
declare -a podman_units=(podman.service podman.socket podman-auto-update.service podman-auto-update.timer podman-clean-transient.service podman-restart.service)
|
|
|
|
|
|
if [[ "$podman_mode" == "rootless" ]]; then
|
|
sudo apt install -y aardvark-dns borgbackup cifs-utils dbus-user-session nftables passt podman podman-compose python3-mako uidmap
|
|
|
|
sudo loginctl enable-linger "$USER"
|
|
|
|
sudo systemctl disable --now "${podman_units[@]}"
|
|
systemctl --user enable --now "${podman_units[@]}"
|
|
else
|
|
sudo apt install -y aardvark-dns borgbackup cifs-utils nftables podman podman-compose python3-mako
|
|
|
|
systemctl --user disable --now "${podman_units[@]}"
|
|
sudo systemctl enable --now "${podman_units[@]}"
|
|
fi
|
|
|
|
|
|
declare -A sysctl_vars=(
|
|
[vm.overcommit_memory]=1
|
|
[net.core.wmem_max]=7500000
|
|
[net.core.rmem_max]=7500000
|
|
)
|
|
|
|
echo -n "" | sudo tee /etc/sysctl.d/podman.conf
|
|
for key in "${!sysctl_vars[@]}"; do
|
|
value="${sysctl_vars[$key]}"
|
|
echo "$key = $value" | sudo tee -a /etc/sysctl.d/podman.conf
|
|
done
|
|
sudo sysctl -p /etc/sysctl.d/podman.conf
|
|
|
|
|
|
sudo systemctl enable --now nftables
|