No description
Coolify deploys were failing with exit 255 (kernel OOM, no Docker error) around the 73s mark of `next build`. Root cause: docker/Dockerfile's three build stages (web-build, collab-build, mcp-build) all `FROM deps`, and BuildKit was running them in parallel. The web-build alone wants ~3 GB heap (capped at 5120 MB) and was racing tsup workers + buildkit + dockerd on an 8 GB host until the kernel reaped it. docker-compose.coolify.yml already had a comment claiming `depends_on: [collab, mcp]` on `web` would serialize the builds. It doesn't — `depends_on` only orders runtime startup, not `docker compose build`. Fix: enforce ordering inside the Dockerfile DAG by COPYing one trivial artifact from each lighter stage into web-build. BuildKit now waits for collab-build and mcp-build to finish before starting the heavy Next.js compile, which then gets the host effectively to itself. The copied files land in /tmp and are never read by the runtime web image. Also updated the compose comment to reflect the new (and accurate) ordering mechanism. Co-authored-by: Cursor <cursoragent@cursor.com> |
||
|---|---|---|
| .cursor | ||
| .github/workflows | ||
| apps | ||
| config | ||
| docker | ||
| docs | ||
| packages | ||
| plans | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| tsconfig.json | ||
| turbo.json | ||