From 2a9cf59e559b601d8b5a162b0ce8b7955dd89459 Mon Sep 17 00:00:00 2001 From: Power BI Dev Date: Mon, 17 Aug 2026 18:29:40 +0700 Subject: [PATCH] fix: resolve coolify docker build tsc permissions and devDependencies --- .dockerignore | 4 ++++ Dockerfile | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.dockerignore b/.dockerignore index b5bd779..08978f2 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,9 +1,13 @@ +**/node_modules node_modules +client/node_modules +server/node_modules .git .gitignore .env *.log dist +**/dist client/dist server/dist dev.db diff --git a/Dockerfile b/Dockerfile index f80c4d4..e65bbbc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,22 +7,29 @@ FROM node:20-alpine AS client-builder WORKDIR /app/client +# Ensure development environment during build stage so devDependencies (tsc, vite) are always installed +ENV NODE_ENV=development + COPY client/package*.json ./ -RUN npm ci --no-audit --no-fund +RUN npm ci --no-audit --no-fund --include=dev COPY client/ ./ +RUN chmod -R 755 node_modules/.bin || true RUN npm run build # Stage 2: Build Backend (TypeScript + Express + Prisma) FROM node:20-alpine AS server-builder WORKDIR /app/server +ENV NODE_ENV=development + COPY server/package*.json ./ COPY server/prisma ./prisma/ -RUN npm ci --no-audit --no-fund +RUN npm ci --no-audit --no-fund --include=dev RUN npx prisma generate --schema=prisma/schema.sqlite.prisma COPY server/ ./ +RUN chmod -R 755 node_modules/.bin || true RUN npx tsc # Stage 3: Production Runner Image @@ -50,7 +57,7 @@ COPY --from=client-builder /app/client/dist ./public COPY server/entrypoint.sh ./entrypoint.sh RUN chmod +x ./entrypoint.sh -# Create persistent storage folder for SQLite (if used) +# Create persistent storage folder for SQLite RUN mkdir -p /app/data EXPOSE 4000