Add docker support - reload
Signed-off-by: Rodrigo Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
ff9f0a3b70
commit
033138b67d
3 files changed
+48
-15
No files matched your search
+12
-9
@@ -1,7 +1,6 @@
|
||||
# Use uma versão LTS do Node.js
|
||||
FROM node:20-slim
|
||||
|
||||
# Instalar dependências do sistema necessárias
|
||||
# Instalar dependências do sistema
|
||||
RUN apt-get update && apt-get install -y \
|
||||
chromium \
|
||||
libgconf-2-4 \
|
||||
@@ -15,16 +14,20 @@ WORKDIR /usr/src/app
|
||||
COPY package*.json ./
|
||||
COPY prisma ./prisma/
|
||||
|
||||
# Instalar dependências
|
||||
# Instalar dependências do projeto
|
||||
RUN npm install
|
||||
|
||||
# Copiar o resto dos arquivos da aplicação
|
||||
# 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 o cliente Prisma
|
||||
# Gerar cliente Prisma
|
||||
RUN npx prisma generate
|
||||
|
||||
# Expor as portas necessárias
|
||||
# Expor portas
|
||||
EXPOSE 3000
|
||||
EXPOSE 5000
|
||||
|
||||
@@ -32,11 +35,11 @@ EXPOSE 5000
|
||||
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
|
||||
|
||||
# Comando para iniciar a aplicação
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
CMD ["npm", "run", "dev:full"]
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
+35
-5
@@ -1,16 +1,46 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "🚀 Iniciando o processo de inicialização..."
|
||||
|
||||
# Verificar variáveis de ambiente necessárias
|
||||
if [ -z "$DATABASE_HOST" ] || [ -z "$DATABASE_PORT" ] || [ -z "$DATABASE_USER" ]; then
|
||||
echo "❌ Erro: Variáveis de ambiente necessárias não estão definidas"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Aguardar o PostgreSQL estar disponível
|
||||
echo "⏳ Verificando conexão com o PostgreSQL..."
|
||||
until pg_isready -h $DATABASE_HOST -p $DATABASE_PORT -U $DATABASE_USER
|
||||
do
|
||||
echo "Aguardando PostgreSQL inicializar..."
|
||||
sleep 2
|
||||
echo "🔄 Aguardando PostgreSQL inicializar..."
|
||||
sleep 2
|
||||
done
|
||||
echo "✅ PostgreSQL está pronto!"
|
||||
|
||||
# Instalar dependências caso necessário
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "📦 Instalando dependências..."
|
||||
npm install
|
||||
fi
|
||||
|
||||
# Gerar cliente Prisma
|
||||
echo "🔧 Gerando cliente Prisma..."
|
||||
npx prisma generate
|
||||
|
||||
# Executar migrações do Prisma
|
||||
echo "Executando migrações do banco de dados..."
|
||||
echo "🔄 Executando migrações do banco de dados..."
|
||||
npx prisma migrate deploy
|
||||
|
||||
# Executar o comando passado para o container
|
||||
exec "$@"
|
||||
# Verificar se as migrações foram bem sucedidas
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅ Migrações concluídas com sucesso!"
|
||||
else
|
||||
echo "❌ Erro durante as migrações"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Iniciar a aplicação com npm run dev:full
|
||||
echo "🚀 Iniciando a aplicação..."
|
||||
echo "📝 Executando: npm run dev:full"
|
||||
exec npm run dev:full --host
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
"main": "src/index.tsx",
|
||||
"type": "commonjs",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"dev": "vite --host 0.0.0.0",
|
||||
"build": "tsc && vite build",
|
||||
"preview": "vite preview",
|
||||
"prisma:generate": "prisma generate",
|
||||
|
||||
Reference in new issue
Block a user