diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 4b156643b..000000000 --- a/Dockerfile +++ /dev/null @@ -1,68 +0,0 @@ -# Install dependencies only when needed -FROM node:22-alpine AS deps -# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. -RUN apk add --no-cache libc6-compat -WORKDIR /app -COPY package.json pnpm-lock.yaml ./ -RUN npm install -g pnpm -RUN pnpm install --frozen-lockfile - -# Rebuild the source code only when needed -FROM node:22-alpine AS builder -WORKDIR /app -COPY --from=deps /app/node_modules ./node_modules -COPY . . - -ARG DATABASE_TYPE -ARG BASE_PATH - -ENV DATABASE_TYPE=$DATABASE_TYPE -ENV BASE_PATH=$BASE_PATH - -ENV NEXT_TELEMETRY_DISABLED=1 - -RUN npm run build-docker - -# Production image, copy all the files and run next -FROM node:22-alpine AS runner -WORKDIR /app - -ARG NODE_OPTIONS - -ENV NODE_ENV=production -ENV NEXT_TELEMETRY_DISABLED=1 -ENV NODE_OPTIONS=$NODE_OPTIONS - -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nextjs -RUN npm install -g pnpm - -RUN set -x \ - && apk add --no-cache curl - -# Script dependencies -RUN pnpm add npm-run-all dotenv prisma@6.7.0 - -# Permissions for prisma -RUN chown -R nextjs:nodejs node_modules/.pnpm/ - -COPY --from=builder --chown=nextjs:nodejs /app/public ./public -COPY --from=builder /app/prisma ./prisma -COPY --from=builder /app/scripts ./scripts - -# Automatically leverage output traces to reduce image size -# https://nextjs.org/docs/advanced-features/output-file-tracing -COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ -COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static - -# Custom routes -RUN mv ./.next/routes-manifest.json ./.next/routes-manifest-orig.json - -USER nextjs - -EXPOSE 3000 - -ENV HOSTNAME=0.0.0.0 -ENV PORT=3000 - -CMD ["pnpm", "start-docker"]