Port it to using SST (https://sst.dev) then you can more easily experiment with different cloud providers’ costs by deploying to A, B and C service.
SST uses Pulumi so (per other comments) there are constructs for Hetzner among other budget hosts.
SST uses Pulumi so (per other comments) there are constructs for Hetzner among other budget hosts.
Hetzner (Pulumi) example outside of SST: https://timozander.de/blog/using-pulumi-with-hcloud/