.gitignore's ".next/" rule (no leading slash) matched at any depth, so
build/.next was silently excluded from every commit even though build.sh
populates it. The Docker image was built without the compiled server/static
output, so server.js had nothing to serve. Anchor the rule to the repo root
and commit the compiled output that Dokploy actually needs.