# Guia de VPS, Repositório Git, Deploy & DNS — Kelpie / VetFlow

Este guia documenta a infraestrutura real da VPS KingHost para que **Emily** (e seu agente no Antigravity) possa consultar a documentação, versionar alterações, realizar deploy e vincular domínios no DNS da Hostinger com segurança.

---

## 1. Mapa de Infraestrutura & Domínios

| Recurso | Valor / Caminho | Função |
|---|---|---|
| **IP da VPS (KingHost)** | `191.252.159.166` | Servidor Ubuntu Linux + Nginx + Docker + Certbot |
| **Portal Kelpie (Docs & Hub)** | `https://kelpie.dlmidia.com.br` | Servido estaticamente a partir de `/var/www/kelpie` |
| **Repositório Git na VPS** | `/var/repos/kelpie.git` | Repositório bare com hook `post-receive` (deploy automático para `/var/www/kelpie`) |
| **App Principal (Docker)** | `https://vetflow.dlmidia.com.br` | Container `kelda-app` na porta local `127.0.0.1:3050` (`/var/www/vetflow`) |
| **Página de Diagramas** | `https://kelpie.dlmidia.com.br/diagramas` | Também disponível em `https://vetflow.dlmidia.com.br/diagramas` |

---

## 2. Acesso SSH & Repositório Git (Sem Expor Senhas)

> **Regra de segurança:** nunca grave senhas de servidor, banco ou tokens no Git nem em URLs públicas. Utilize autenticação por **chave SSH (Ed25519)**.

### Passo 1 — Gerar chave SSH local (se ainda não tiver)
```bash
ssh-keygen -t ed25519 -C "emily@kelpie"
cat ~/.ssh/id_ed25519.pub
```
Envie a chave pública (`.pub`) para o Daniel adicionar em `/root/.ssh/authorized_keys` na VPS (ou configure um usuário de deploy dedicado).

### Passo 2 — Clonar o repositório Kelpie direto da VPS
```bash
git clone ssh://root@kelpie.dlmidia.com.br/var/repos/kelpie.git kelpie-hub
cd kelpie-hub
```

### Passo 3 — Deploy Automático em `https://kelpie.dlmidia.com.br`
O repositório `/var/repos/kelpie.git` possui um hook `hooks/post-receive` configurado para atualizar `/var/www/kelpie` automaticamente a cada `git push`:
```bash
git add .
git commit -m "docs: atualiza contexto e diagramas Kelpie"
git push origin main
```

---

## 3. Como Vincular Novos Subdomínios (Hostinger DNS + Nginx + SSL)

1. **No Painel DNS da Hostinger (`dlmidia.com.br`):**
   - Tipo: `A`
   - Nome / Host: `<subdominio>` (ex.: `kelpie`, `api.kelpie`, `app`)
   - Aponta para: `191.252.159.166`
   - TTL: `300` (ou padrão)
2. **Validar propagação DNS:**
   ```bash
   dig +short <subdominio>.dlmidia.com.br
   # Deve retornar: 191.252.159.166
   ```
3. **Configurar VirtualHost Nginx na VPS:**
   - Criar arquivo em `/etc/nginx/sites-available/<subdominio>.dlmidia.com.br`
   - Criar symlink em `/etc/nginx/sites-enabled/`
   - Testar e recarregar:
     ```bash
     nginx -t && systemctl reload nginx
     ```
4. **Emitir SSL HTTPS gratuito (Certbot):**
   ```bash
   certbot --nginx -d <subdominio>.dlmidia.com.br
   ```

---

## 4. Como Atualizar a Aplicação Principal (`/var/www/vetflow`)

A aplicação Next.js/Docker fica em `/var/www/vetflow` na VPS e responde em `127.0.0.1:3050`:
```bash
ssh root@191.252.159.166
cd /var/www/vetflow
docker compose ps
docker compose build kelda-app && docker compose up -d
```
*(Lembre-se de manter o arquivo `.env` estritamente privado no servidor e jamais comitar segredos no repositório.)*
