Migrating my website from Vercel to Hetzner Part 1 - OpenTofu and cloud-init deadSimpleTech blog 2 years ago