wireguard-setup/packer/build.pkr.hcl

99 lines
2.6 KiB
HCL
Raw Normal View History

2020-01-26 11:59:13 +01:00
build {
sources = [
"source.hcloud.main"
]
provisioner "file" {
direction = "upload"
2020-02-06 20:06:08 +01:00
source = "./rootfs"
destination = "/tmp"
2020-01-26 11:59:13 +01:00
}
provisioner "shell" {
environment_vars = [
2020-02-06 20:02:31 +01:00
"DPKG_FORCE=confold",
2020-01-26 11:59:13 +01:00
"DEBIAN_FRONTEND=noninteractive"
]
2020-02-06 20:02:31 +01:00
inline_shebang = "/bin/sh -eux"
2020-01-26 11:59:13 +01:00
inline = [
2020-02-06 20:02:31 +01:00
<<EOF
2020-02-06 20:06:08 +01:00
find /tmp/rootfs/ -type d -exec chmod 755 '{}' ';' -exec chown root:root '{}' ';'
find /tmp/rootfs/ -type f -exec chmod 644 '{}' ';' -exec chown root:root '{}' ';'
find /tmp/rootfs/ -type f -regex '.+/\(bin\|cron\..+\)/.+' -exec chmod 755 '{}' ';'
find /tmp/rootfs/ -type f -regex '.+/\(etc/wireguard\)/.+' -exec chmod 600 '{}' ';'
2020-02-07 22:28:11 +01:00
find /tmp/rootfs/ -mindepth 1 -maxdepth 1 -exec cp -fla '{}' / ';'
2020-02-06 20:06:08 +01:00
rm -rf /tmp/rootfs/
2020-02-06 20:02:31 +01:00
EOF
,
<<EOF
systemctl daemon-reload
2020-06-11 19:39:21 +02:00
EOF
,
2020-02-06 20:22:40 +01:00
<<EOF
timedatectl set-timezone UTC
localectl set-locale LANG=en_US.UTF-8
EOF
,
2020-02-06 20:02:31 +01:00
<<EOF
apt-get update
2020-05-03 14:47:53 +02:00
apt-get dist-upgrade -y
EOF
,
<<EOF
2020-05-28 22:40:53 +02:00
apt-get purge -y \
snapd
2020-05-03 14:47:53 +02:00
apt-get install -y \
dns-root-data \
fail2ban \
htop \
iperf3 \
nano \
openresolv \
qrencode \
2020-06-11 19:18:18 +02:00
rng-tools \
ssh-import-id \
ufw \
unattended-upgrades \
2020-04-24 00:15:12 +02:00
unbound \
wireguard
2020-05-28 22:40:53 +02:00
apt-get autoremove -y
2020-02-06 20:02:31 +01:00
EOF
,
<<EOF
systemctl disable --now systemd-resolved.service
unlink /etc/resolv.conf && printf 'nameserver 127.0.0.1\n' > /etc/resolv.conf
systemctl enable --now unbound.service unbound-resolvconf.service
EOF
,
<<EOF
systemctl enable --now fail2ban.service rng-tools.service ssh.service ufw.service
systemctl enable --now apt-daily-upgrade.timer apt-daily.timer unattended-upgrades.service
2020-03-02 22:21:36 +01:00
systemctl enable wg-quick@wg0.service
2020-02-06 20:02:31 +01:00
EOF
,
<<EOF
ufw --force enable
ufw default deny incoming
ufw default allow outgoing
ufw allow from any to any port 22 proto tcp
EOF
,
<<EOF
groupadd --system ssh-user
usermod --append --groups ssh-user root
2020-02-06 20:02:31 +01:00
passwd -d root
EOF
,
<<EOF
rm -f /etc/ssh/ssh_host_*key*
rm -f /etc/wireguard/*-*key /etc/wireguard/*-iface
find /var/lib/apt/lists/ -mindepth 1 -delete
find / -type f -regextype egrep \
-regex '.+\.(dpkg|ucf)-(old|new|dist)' \
-not -regex '/(dev|proc|sys|run)/.*' \
-delete
2020-02-06 20:02:31 +01:00
EOF
2020-01-26 11:59:13 +01:00
]
}
}