Files
alla-tms/Dockerfile.migrator
phaichayon cdb91bff47 xxxx
2026-07-17 00:23:21 +07:00

60 lines
1.4 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM node:20-bookworm-slim AS base
WORKDIR /app
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 pkg delete scripts.prepare \
&& npm i \
--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
COPY scripts ./scripts
COPY tsconfig.json ./
CMD ["sh", "-c", "\
set -eu; \
echo '========================================'; \
echo '1/3 Running database migrations'; \
echo '========================================'; \
npm run migrate; \
echo '========================================'; \
echo '2/3 Seeding master data'; \
echo '========================================'; \
npm run seed:master-data; \
echo '========================================'; \
echo '3/3 Seeding super administrator'; \
echo '========================================'; \
npm run seed:super-admin; \
echo '========================================'; \
echo 'Database initialization completed'; \
echo '========================================'; \
tail -f /dev/null \
"]