.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.
742 B
742 B