FROM node:20-slim # Instalar dependências do sistema RUN apt-get update && apt-get install -y \ libgconf-2-4 \ postgresql-client \ && rm -rf /var/lib/apt/lists/* RUN apt-get update \ && apt-get install -y wget gnupg \ && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ && apt-get update \ && apt-get install -y google-chrome fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 \ --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Criar diretório da aplicação WORKDIR /usr/src/app # Copiar arquivos de dependências COPY package*.json ./ COPY prisma ./prisma/ # Instalar dependências do projeto RUN npm install # Instalar dependências globais necessárias RUN npm install -g concurrently vite RUN npm install @rollup/rollup-linux-arm64-gnu # Copiar o resto dos arquivos COPY . . # Gerar cliente Prisma RUN npx prisma generate # Expor portas EXPOSE 3000 EXPOSE 5000 # Configurar variáveis de ambiente ENV NODE_ENV=production ENV PORT=5000 ENV FRONTEND_PORT=3000 ENV VITE_HOST=0.0.0.0 ENV HOST=0.0.0.0 # Script de inicialização COPY docker-entrypoint.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/docker-entrypoint.sh ENTRYPOINT ["docker-entrypoint.sh"]