73 lines
2.3 KiB
Bash
Executable File
73 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# ==============================================
|
|
# Arcádia Suite - Script de Deploy para VPS
|
|
# ==============================================
|
|
|
|
set -e
|
|
|
|
echo "=========================================="
|
|
echo " Arcádia Suite - Deploy VPS"
|
|
echo "=========================================="
|
|
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "Docker não encontrado. Instalando..."
|
|
curl -fsSL https://get.docker.com | sh
|
|
sudo usermod -aG docker $USER
|
|
echo "Docker instalado! Faça logout e login novamente para aplicar as permissões."
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
|
|
echo "Docker Compose não encontrado. Instalando..."
|
|
sudo apt-get update && sudo apt-get install -y docker-compose-plugin
|
|
fi
|
|
|
|
if [ ! -f .env ]; then
|
|
echo "Arquivo .env não encontrado. Criando a partir do .env.example..."
|
|
cp .env.example .env
|
|
echo ""
|
|
echo "IMPORTANTE: Edite o arquivo .env com suas configurações antes de continuar!"
|
|
echo " nano .env"
|
|
echo ""
|
|
echo "Depois execute este script novamente."
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "1/4 - Parando containers existentes..."
|
|
docker compose down 2>/dev/null || docker-compose down 2>/dev/null || true
|
|
|
|
echo ""
|
|
echo "2/5 - Construindo a aplicação..."
|
|
docker compose build --no-cache 2>/dev/null || docker-compose build --no-cache
|
|
|
|
echo ""
|
|
echo "3/5 - Iniciando o banco de dados..."
|
|
docker compose up -d db 2>/dev/null || docker-compose up -d db
|
|
echo "Aguardando banco ficar pronto..."
|
|
sleep 5
|
|
|
|
echo ""
|
|
echo "4/5 - Aplicando migrations do banco de dados..."
|
|
docker compose run --rm app npx drizzle-kit push 2>/dev/null || docker-compose run --rm app npx drizzle-kit push
|
|
|
|
echo ""
|
|
echo "5/5 - Iniciando a aplicação..."
|
|
docker compose up -d 2>/dev/null || docker-compose up -d
|
|
sleep 10
|
|
|
|
echo ""
|
|
echo "=========================================="
|
|
echo " Deploy concluído!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo " App: http://$(hostname -I | awk '{print $1}'):5000"
|
|
echo " DB: PostgreSQL na porta 5432"
|
|
echo ""
|
|
echo " Comandos úteis:"
|
|
echo " Ver logs: docker compose logs -f app"
|
|
echo " Parar tudo: docker compose down"
|
|
echo " Reiniciar: docker compose restart app"
|
|
echo " Status: docker compose ps"
|
|
echo ""
|