@@ -16,7 +16,7 @@ COPY . .
1616RUN bun install --frozen-lockfile
1717RUN bun run --filter web build
1818
19- # Minimal workspace manifest for the runtime image (web + packages the API imports).
19+ # Minimal workspace manifests for the runtime image (web + packages the API imports).
2020# Strip devDependencies so bun does not require build-only workspace packages
2121# like @bomberoscr/typescript-config during the production install.
2222RUN apk add --no-cache jq && \
@@ -38,22 +38,28 @@ WORKDIR /app
3838ENV NODE_ENV=production
3939ENV PORT=3000
4040
41+ # Manifests first. Do not copy the monorepo bun.lock here — the slim workspace
42+ # does not match it, and BuildKit/bun will refuse to rewrite a frozen lockfile.
4143COPY --from=build /tmp/root.package.json ./package.json
4244COPY --from=build /tmp/web.package.json ./apps/web/package.json
4345COPY --from=build /tmp/db.package.json ./packages/db/package.json
4446COPY --from=build /tmp/lib.package.json ./packages/lib/package.json
4547COPY --from=build /tmp/sync-domain.package.json ./packages/sync-domain/package.json
4648
47- RUN bun install --production --ignore-scripts
48-
49+ # Runtime sources must be present BEFORE install so workspace links land correctly.
50+ # Do not copy package trees after install — that wipes bun's node_modules symlinks.
51+ COPY --from=build /app/packages/db/src ./packages/db/src
52+ COPY --from=build /app/packages/lib/src ./packages/lib/src
53+ COPY --from=build /app/packages/sync-domain/src ./packages/sync-domain/src
4954COPY --from=build /app/apps/web/dist ./apps/web/dist
5055COPY --from=build /app/apps/web/server.ts ./apps/web/server.ts
5156COPY --from=build /app/apps/web/api ./apps/web/api
5257COPY --from=build /app/apps/web/public ./apps/web/public
5358COPY --from=build /app/apps/web/tsconfig.json ./apps/web/tsconfig.json
54- COPY --from=build /app/packages/db ./packages/db
55- COPY --from=build /app/packages/lib ./packages/lib
56- COPY --from=build /app/packages/sync-domain ./packages/sync-domain
59+
60+ RUN bun install --production --ignore-scripts \
61+ && bun --cwd apps/web -e 'import "drizzle-orm/node-postgres"; import "pg"; console.log("web deps ok")' \
62+ && bun --cwd packages/db -e 'import "drizzle-orm/node-postgres"; console.log("db deps ok")'
5763
5864WORKDIR /app/apps/web
5965
0 commit comments