From 134cc48de0c14801b72aa7fe31c619ade18c025c Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:10:47 +0700 Subject: [PATCH 1/7] chore: update Dockerfile --- Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7b7967d..7bb6995 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,12 +4,12 @@ ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable +RUN corepack prepare pnpm@9.15.0 --activate + RUN apt-get update && apt-get install -y openssl fontconfig RUN fc-cache -f -v -RUN pnpm i -g prisma prisma-kysely WORKDIR /app - COPY . . FROM base AS deps @@ -22,7 +22,6 @@ RUN pnpm prisma generate RUN pnpm run build FROM base AS prod - ENV NODE_ENV="production" COPY --from=deps /app/node_modules /app/node_modules @@ -30,5 +29,4 @@ COPY --from=build /app/dist /app/dist COPY --from=base /app/static /app/static RUN chmod u+x ./entrypoint.sh - ENTRYPOINT ["./entrypoint.sh"] From e29ad6a64dea9de9e22d69ee7cdba77749525940 Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:14:22 +0700 Subject: [PATCH 2/7] chore: update Dockerfile --- Dockerfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7bb6995..fb2fef3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,21 +12,23 @@ RUN fc-cache -f -v WORKDIR /app COPY . . -FROM base AS deps -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile -RUN pnpm prisma generate - FROM base AS build RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm prisma generate RUN pnpm run build -FROM base AS prod +FROM base AS deps +RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile + +FROM node:23-slim AS prod ENV NODE_ENV="production" +WORKDIR /app COPY --from=deps /app/node_modules /app/node_modules COPY --from=build /app/dist /app/dist -COPY --from=base /app/static /app/static +COPY --from=build /app/prisma /app/prisma +COPY --from=build /app/static /app/static +COPY entrypoint.sh . RUN chmod u+x ./entrypoint.sh ENTRYPOINT ["./entrypoint.sh"] From ad544bc544ce382ba561d6b3a07db19022d0faf9 Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:21:17 +0700 Subject: [PATCH 3/7] fix: base for prod in Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index fb2fef3..10063e5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,7 @@ RUN pnpm run build FROM base AS deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile -FROM node:23-slim AS prod +FROM base AS prod ENV NODE_ENV="production" WORKDIR /app From c70c467e92610a6b29dc118a77f1a898404400c8 Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:30:02 +0700 Subject: [PATCH 4/7] fix: no prisma module --- Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 10063e5..a783ac9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,9 +6,7 @@ ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable RUN corepack prepare pnpm@9.15.0 --activate -RUN apt-get update && apt-get install -y openssl fontconfig -RUN fc-cache -f -v - +RUN apt-get update && apt-get install -y openssl WORKDIR /app COPY . . @@ -20,11 +18,14 @@ RUN pnpm run build FROM base AS deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile -FROM base AS prod -ENV NODE_ENV="production" +FROM node:23-slim AS prod +ENV NODE_ENV=production WORKDIR /app COPY --from=deps /app/node_modules /app/node_modules + +COPY --from=build /app/node_modules/.prisma /app/node_modules/.prisma + COPY --from=build /app/dist /app/dist COPY --from=build /app/prisma /app/prisma COPY --from=build /app/static /app/static From 8d2b8e192b4eb7aeb9d154cd84b18675a8fbb8ed Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:32:29 +0700 Subject: [PATCH 5/7] update: entrypoint.sh --- entrypoint.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 4d9a5e6..df5f60f 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,4 +1,8 @@ #!/bin/sh +set -e -pnpm prisma migrate deploy -pnpm run start +echo "Running prisma migrations..." +npx prisma migrate deploy + +echo "Starting server..." +node ./dist/app.js From 84137e031cf69111a9a40f39a938ed451175e233 Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:36:47 +0700 Subject: [PATCH 6/7] fix: update Dockerfile --- Dockerfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index a783ac9..3b83764 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,9 @@ ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable RUN corepack prepare pnpm@9.15.0 --activate -RUN apt-get update && apt-get install -y openssl +RUN apt-get update && apt-get install -y openssl fontconfig +RUN fc-cache -f -v + WORKDIR /app COPY . . @@ -17,19 +19,17 @@ RUN pnpm run build FROM base AS deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile +RUN pnpm prisma generate FROM node:23-slim AS prod -ENV NODE_ENV=production +ENV NODE_ENV="production" WORKDIR /app COPY --from=deps /app/node_modules /app/node_modules - -COPY --from=build /app/node_modules/.prisma /app/node_modules/.prisma - COPY --from=build /app/dist /app/dist COPY --from=build /app/prisma /app/prisma COPY --from=build /app/static /app/static COPY entrypoint.sh . -RUN chmod u+x ./entrypoint.sh +RUN chmod +x ./entrypoint.sh ENTRYPOINT ["./entrypoint.sh"] From 3189ba90be9fe58ed374dc3b9f1911eebc3ad76c Mon Sep 17 00:00:00 2001 From: HAM Date: Mon, 12 Jan 2026 14:40:58 +0700 Subject: [PATCH 7/7] fix: Dockerfile prisma module --- Dockerfile | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3b83764..2c8cd7b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,26 +3,30 @@ FROM node:23-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable -RUN corepack prepare pnpm@9.15.0 --activate +RUN corepack enable \ + && corepack prepare pnpm@9.15.0 --activate -RUN apt-get update && apt-get install -y openssl fontconfig -RUN fc-cache -f -v +RUN apt-get update \ + && apt-get install -y openssl fontconfig \ + && fc-cache -f -v \ + && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY . . FROM base AS build -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ + pnpm install --frozen-lockfile RUN pnpm prisma generate RUN pnpm run build FROM base AS deps -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ + pnpm install --prod --frozen-lockfile RUN pnpm prisma generate FROM node:23-slim AS prod -ENV NODE_ENV="production" +ENV NODE_ENV=production WORKDIR /app COPY --from=deps /app/node_modules /app/node_modules