Initial commit: CMS completo com gerenciamento de leads e personalização de tema

This commit is contained in:
Erik
2025-11-26 14:09:21 -03:00
commit aaa1709e41
106 changed files with 26268 additions and 0 deletions

57
frontend/Dockerfile Normal file
View File

@@ -0,0 +1,57 @@
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
# Copiar arquivos de dependências
COPY package*.json ./
COPY prisma ./prisma/
# Instalar dependências
RUN npm ci
# Copiar código fonte
COPY . .
# Gerar Prisma Client
RUN npx prisma generate
# Build da aplicação
RUN npm run build
# Production stage
FROM node:20-alpine AS runner
WORKDIR /app
# Criar usuário não-root
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
# Copiar arquivos necessários do builder
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/prisma ./prisma
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
# Copiar script de entrypoint
COPY docker-entrypoint.sh /app/docker-entrypoint.sh
RUN chmod +x /app/docker-entrypoint.sh
# Configurar permissões
RUN chown -R nextjs:nodejs /app
# Mudar para usuário não-root
USER nextjs
# Expor porta
EXPOSE 3000
# Definir variável de ambiente
ENV PORT=3000
ENV NODE_ENV=production
# Comando de inicialização
CMD ["/app/docker-entrypoint.sh"]