# 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 \ "]