Its relatively straightforward to host a nextjs app in a docker container and route it with nginx and cloudflare, but you probably wont get as good uptime
Thank you for the advice, didn't consider using docker instead and saw a lot of potential alternatives to Vercel for self-hosting which support a great deployment experience (Caprover, Dokploy, Coolify, Stacktape etc.).