# 🚀 Deploy Automático - Instruções

## ⚠️ Problema com Autenticação SSH

O script automático está tendo problemas com autenticação SSH. Siga estas opções:

## Opção 1: Instalar Posh-SSH e Tentar Novamente

### 1. Instalar NuGet Provider:
```powershell
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
```

### 2. Instalar Posh-SSH:
```powershell
Install-Module -Name Posh-SSH -Force -Scope CurrentUser -AllowClobber
```

### 3. Executar Deploy:
```powershell
powershell -ExecutionPolicy Bypass -File deploy/deploy-simple.ps1
```

## Opção 2: Conectar Manualmente e Executar Setup

### 1. Conectar à VPS manualmente primeiro:
```powershell
ssh root@72.60.20.31
# Digite a senha quando solicitado: #@Doca2535220
# Digite "yes" quando perguntar sobre o fingerprint
```

Isso vai adicionar o fingerprint à lista de hosts conhecidos.

### 2. Depois execute o deploy:
```powershell
powershell -ExecutionPolicy Bypass -File deploy/deploy-simple.ps1
```

## Opção 3: Deploy Manual Completo

Se os scripts automáticos não funcionarem, use o guia manual em `DEPLOY.md`.

### Passos Rápidos:

1. **Conectar à VPS:**
   ```bash
   ssh root@72.60.20.31
   # Senha: #@Doca2535220
   ```

2. **Setup inicial (copie e cole todos):**
   ```bash
   apt-get update && apt-get upgrade -y
   curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
   apt-get install -y nodejs
   apt-get install -y postgresql postgresql-contrib
   systemctl start postgresql
   systemctl enable postgresql
   npm install -g pm2
   apt-get install -y nginx
   
   sudo -u postgres psql -c "CREATE DATABASE maktubia_points;"
   sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '@21062014';"
   
   mkdir -p /var/www/maktubia-backend
   ```

3. **Fazer upload do código** (use WinSCP, FileZilla, ou rsync da sua máquina):
   - WinSCP: sftp://root@72.60.20.31
   - Senha: #@@21062014
   - Upload para: /var/www/maktubia-backend

4. **Na VPS, configurar e iniciar:**
   ```bash
   cd /var/www/maktubia-backend
   npm install --production
   
   # Criar .env
   cat > .env <<EOF
   NODE_ENV=production
   PORT=8000
   DATABASE=postgres
   POSTGRES_HOST=localhost
   POSTGRES_PORT=5432
   POSTGRES_DB=maktubia_points
   POSTGRES_USER=postgres
   POSTGRES_PASSWORD=@21062014
   JWT_SECRET=maktubia_jwt_secret_production_change_me
   JWT_EXPIRE=30d
   REDIS_HOST=localhost
   REDIS_PORT=6379
   REDIS_PASSWORD=
   SESSION_SECRET=maktubia-production-secret-change-me
   ALLOWED_ORIGINS=http://localhost:3000
   LOG_LEVEL=info
   FCM_SERVICE_ACCOUNT_PATH=./config/firebase-service-account.json
   EOF
   
   mkdir -p uploads logs tmp
   chmod -R 777 uploads logs tmp
   pm2 start app.js --name maktubia-backend
   pm2 save
   pm2 startup systemd -u root --hp /root
   ```

5. **Configurar Nginx:**
   ```bash
   cat > /etc/nginx/sites-available/maktubia-backend <<EOF
   server {
       listen 80;
       server_name 72.60.20.31;
       
       location / {
           proxy_pass http://localhost:8000;
           proxy_http_version 1.1;
           proxy_set_header Upgrade \$http_upgrade;
           proxy_set_header Connection 'upgrade';
           proxy_set_header Host \$host;
           proxy_set_header X-Real-IP \$remote_addr;
           proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto \$scheme;
       }
       
       location /socket.io/ {
           proxy_pass http://localhost:8000;
           proxy_http_version 1.1;
           proxy_set_header Upgrade \$http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_set_header Host \$host;
       }
   }
   EOF
   
   ln -sf /etc/nginx/sites-available/maktubia-backend /etc/nginx/sites-enabled/
   rm -f /etc/nginx/sites-enabled/default
   nginx -t
   systemctl reload nginx
   ```

6. **Pronto!** A aplicação estará disponível em: http://72.60.20.31

## 📞 Próximos Passos

- Ajustar variáveis no `.env` conforme necessário
- Configurar SSL com Certbot (se tiver domínio)
- Verificar logs: `pm2 logs maktubia-backend`

