#!/bin/bash
# Script de deploy - MonitorPing
# Uso: bash deploy.sh

set -e

DOMAIN="cliente.monitorping.com.br"
EMAIL="seu-email@dominio.com"   # <<< troque para seu e-mail

echo "======================================"
echo " MonitorPing - Deploy Produção"
echo "======================================"

# 1. Subir apenas nginx em modo HTTP (sem HTTPS ainda, para validar domínio)
echo "[1/5] Subindo nginx em modo HTTP para validação do domínio..."
cp nginx/conf.d/app.conf nginx/conf.d/app.conf.bak 2>/dev/null || true
cp nginx/conf.d/app-http.conf nginx/conf.d/default.conf

docker compose up -d nginx db app
sleep 5

# 2. Obter certificado SSL
echo "[2/5] Obtendo certificado SSL Let's Encrypt..."
docker compose run --rm certbot certonly \
  --webroot \
  --webroot-path=/var/www/certbot \
  --email "$EMAIL" \
  --agree-tos \
  --no-eff-email \
  -d "$DOMAIN"

# 3. Ativar config HTTPS
echo "[3/5] Ativando configuração HTTPS..."
rm -f nginx/conf.d/default.conf
# O arquivo app.conf já tem HTTP redirect + HTTPS configurado

# 4. Recarregar nginx com HTTPS
echo "[4/5] Reiniciando nginx com HTTPS..."
docker compose restart nginx

# 5. Subir todos os serviços
echo "[5/5] Subindo todos os containers..."
docker compose up -d

echo ""
echo "======================================"
echo " Deploy concluído!"
echo " Acesse: https://$DOMAIN"
echo "======================================"
