This commit is contained in:
phaichayon
2026-07-17 00:21:14 +07:00
parent cecd2dc795
commit b0e58f6b89

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
# syntax=docker/dockerfile:1.7
FROM node:20-bookworm-slim
FROM node:20-bookworm-slim AS base
WORKDIR /app
@@ -8,10 +8,31 @@ ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
ENV HUSKY=0
FROM base AS deps
ENV NODE_ENV=development
ENV HUSKY=0
COPY package.json package-lock.json ./
RUN npm ci --no-audit --no-fund
RUN npm pkg delete scripts.prepare \
&& npm ci \
--include=dev \
--legacy-peer-deps \
--no-audit \
--no-fund
FROM base AS migrator
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
ENV HUSKY=0
COPY --from=deps /app/node_modules ./node_modules
COPY package.json package-lock.json ./
COPY drizzle.config.* ./
COPY drizzle ./drizzle
COPY src ./src
@@ -19,13 +40,21 @@ COPY scripts ./scripts
COPY tsconfig.json ./
CMD ["sh", "-c", "\
set -e; \
echo 'Running database migrations...'; \
set -eu; \
echo '========================================'; \
echo '1/3 Running database migrations'; \
echo '========================================'; \
npm run migrate; \
echo 'Running master-data seed...'; \
echo '========================================'; \
echo '2/3 Seeding master data'; \
echo '========================================'; \
npm run seed:master-data; \
echo 'Running super-admin seed...'; \
echo '========================================'; \
echo '3/3 Seeding super administrator'; \
echo '========================================'; \
npm run seed:super-admin; \
echo 'Migration and seeds completed successfully'; \
echo '========================================'; \
echo 'Database initialization completed'; \
echo '========================================'; \
tail -f /dev/null \
"]