Free tier of cloudflare and the cache everything setting + maybe a page rule or so will probably do most of what you want.
You could also use e.g. nginx to cache the site you don't need Cloudflare for that.
Cloudflare is trivial to set up. You should definitely use it. If you use a mainstream static site generator, you can just deploy to Cloudflare Pages as well.