Add docker support

Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2025-04-10 23:21:08 -03:00
1 parent c9fb67e751
commit ff9f0a3b70
2 files changed
+58

No files matched your search

+42
View File
@@ -0,0 +1,42 @@
# Use uma versão LTS do Node.js
FROM node:20-slim
# Instalar dependências do sistema necessárias
RUN apt-get update && apt-get install -y \
chromium \
libgconf-2-4 \
postgresql-client \
&& 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
RUN npm install
# Copiar o resto dos arquivos da aplicação
COPY . .
# Gerar o cliente Prisma
RUN npx prisma generate
# Expor as portas necessárias
EXPOSE 3000
EXPOSE 5000
# Configurar variáveis de ambiente
ENV NODE_ENV=production
ENV PORT=5000
ENV FRONTEND_PORT=3000
# Script de inicialização
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# Comando para iniciar a aplicação
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["npm", "run", "dev:full"]
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
set -e
# Aguardar o PostgreSQL estar disponível
until pg_isready -h $DATABASE_HOST -p $DATABASE_PORT -U $DATABASE_USER
do
echo "Aguardando PostgreSQL inicializar..."
sleep 2
done
# Executar migrações do Prisma
echo "Executando migrações do banco de dados..."
npx prisma migrate deploy
# Executar o comando passado para o container
exec "$@"