diff --git a/Dockerfile b/Dockerfile index 89b3f2d..ed8d299 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,73 +1,2 @@ -# ============================================================================= -# GoHorse Jobs Frontend - Ultra-Optimized Dockerfile -# ============================================================================= -# syntax=docker/dockerfile:1 - -# ----------------------------------------------------------------------------- -# Stage 1: Base with pnpm -# ----------------------------------------------------------------------------- -FROM mirror.gcr.io/library/node:20-alpine AS base -RUN corepack enable && corepack prepare pnpm@latest --activate -ENV PNPM_HOME="/pnpm" -ENV PATH="$PNPM_HOME:$PATH" - -# ----------------------------------------------------------------------------- -# Stage 2: Dependencies -# ----------------------------------------------------------------------------- -FROM base AS deps -WORKDIR /app -COPY package.json package-lock.json* pnpm-lock.yaml* ./ -RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ - pnpm import 2>/dev/null || true && \ - pnpm install --frozen-lockfile || pnpm install - -# ----------------------------------------------------------------------------- -# Stage 3: Builder (AQUI ESTAVA O PROBLEMA) -# ----------------------------------------------------------------------------- -FROM base AS builder -ENV NODE_OPTIONS="--max-old-space-size=512" -WORKDIR /app -COPY --from=deps /app/node_modules ./node_modules - -# CORREÇÃO: Copiando TODAS as configs e pastas necessárias -COPY package.json next.config.* tsconfig.json postcss.config.mjs ./ -# Se tiver outras configs como tailwind.config.ts, adicione aqui ou use COPY . . (com dockerignore bom) -COPY public ./public -COPY src ./src -# Adicionei a pasta messages que apareceu no seu ls -COPY messages ./messages - -# Build arguments -ARG NEXT_PUBLIC_API_URL=http://localhost:8521 -ARG NEXT_PUBLIC_BACKOFFICE_URL=http://localhost:3001 -ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL -ENV NEXT_PUBLIC_BACKOFFICE_URL=$NEXT_PUBLIC_BACKOFFICE_URL -ENV NEXT_TELEMETRY_DISABLED=1 - -RUN pnpm build && \ - rm -rf node_modules/.cache .next/cache - -# ----------------------------------------------------------------------------- -# Stage 4: Production Runner -# ----------------------------------------------------------------------------- -FROM mirror.gcr.io/library/node:20-alpine AS runner -WORKDIR /app - -RUN addgroup -g 1001 -S nodejs && \ - adduser -u 1001 -S nextjs -G nodejs - -ENV NODE_ENV=production \ - NEXT_TELEMETRY_DISABLED=1 \ - PORT=3000 \ - HOSTNAME="0.0.0.0" - -# O Docker faz o "cp" que você fez na mão AQUI: -COPY --from=builder --chown=nextjs:nodejs /app/public ./public -COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ -COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static - -USER nextjs - -EXPOSE 3000 - -CMD ["node", "server.js"] \ No newline at end of file +FROM gohorsejobs-backend:latest +LABEL com.dokku.docker-image-labeler/alternate-tags=["gohorsejobs-backend:latest"]