I find the existence of opennext convincing proof of lock-in: https://blog.logrocket.com/opennext-next-js-portability/
Personally, I don’t bother with nextjs at all.
Personally, I don’t bother with nextjs at all.
A Next.js project can be deployed to a Docker image very easily [1]. If you want to use a provider that has their own infrastructure setup, then yes you need to do some work (that OpenNext does for you). But that's true of practically any framework deploying to a host that does more than just serve the docker container.