It is a righteous pain in the ass to do so. There is no "dependency" on Vercel, but the choice is to either build your castle in someone else kingdom, or build all the infrastructure and plumbing on your own land and "self-host".
The point is, it could be a whole lot easier to self-host Next.js. There's a reason it's not.
It's not at all difficult to self host Next.js. First of all, you can use Next to compile a static site that can be deployed anywhere. You can also run it in Docker or outright by simply: `npm run build` && `npm run start`
The point is, it could be a whole lot easier to self-host Next.js. There's a reason it's not.