# Manual Tecnico - UFV-ISB Hub, Engenheiro IA E Planalto PowerView

**Status:** referencia operacional interna  
**Atualizado em:** 2026-07-04  
**VM:** Machine Learning  
**IP privado:** `192.168.190.210`

---

## 1. Resumo Correto De Acessos

| Sistema | Acesso para usuario | Porta/rota interna | Observacao |
|---|---|---|---|
| UFV-ISB Hub | `http://192.168.190.210/` | `nginx :80 -> 127.0.0.1:8081` | Tela principal de monitoramento tecnico |
| Planalto PowerView / Memoria de Massa | `http://192.168.190.210/memoria-de-massa` | `nginx :80 /memoria-de-massa -> 127.0.0.1:8082` | Tela de grandezas, demanda e qualidade de energia |
| Engenheiro IA UFV | desativado | historico: `127.0.0.1:5000/ask` via `POST` | API interna sem tela web; desabilitada para liberar recursos |

---

## 2. UFV-ISB Hub

O UFV-ISB Hub roda para o usuario na porta `80` do IP privado da VM:

```text
http://192.168.190.210/
```

Servico systemd:

```text
ufv-monitor.service
```

Configuracao observada:

```text
WorkingDirectory=/opt/ufv_hub/app
Environment=PORT=8081
ExecStart=/usr/bin/python3 /opt/ufv_hub/app/server.py
```

O servico Python escuta internamente em `127.0.0.1:8081`, mas o acesso correto para usuario e via `nginx` na porta `80`.

---

## 3. Planalto PowerView / Memoria De Massa

O Planalto PowerView aparece para o usuario como **Memoria de Massa** dentro do Hub:

```text
http://192.168.190.210/memoria-de-massa
```

Servico systemd:

```text
planalto-powerview.service
```

Configuracao observada:

```text
WorkingDirectory=/opt/planalto_powerview/app
Environment=PORT=8082
ExecStart=/usr/bin/python3 /opt/planalto_powerview/app/server.py
```

O servico Python escuta internamente em `127.0.0.1:8082`, mas o caminho correto para usuario e:

```text
nginx :80 /memoria-de-massa -> 127.0.0.1:8082
```

Nao usar `http://192.168.190.210:8082/` como link principal no portal.

---

## 4. Engenheiro IA UFV

O Engenheiro IA UFV existia como API interna, mas nao era uma pagina web.

Em 2026-07-04, o servico foi desabilitado porque consumia recursos do servidor sem entregar uma interface funcional para usuario.

Status atual:

```text
ufv-ia.service: disabled / inactive
porta 127.0.0.1:5000: sem listener
```

Servico systemd:

```text
ufv-ia.service
```

Configuracao observada:

```text
WorkingDirectory=/opt/ufvisb_ia
ExecStart=/usr/bin/python3 /opt/ufvisb_ia/bin/ia_service.py
```

O servidor escuta em:

```text
127.0.0.1:5000
```

Observacao: esse era o comportamento historico enquanto o servico estava ativo.

Endpoint real:

```text
POST /ask
Content-Type: application/json
```

Exemplo conceitual:

```json
{
  "question": "qual inversor atende a string C03-STR008?"
}
```

O `GET /` retorna erro `501 Unsupported method`, portanto nao deve ser usado como link de usuario no portal.

Para reativar futuramente, primeiro criar uma interface web ou integrar a API a um sistema existente. Nao reativar apenas o servico cru em `:5000` sem caso de uso claro.

---

## 5. Configuracao Nginx Observada

Arquivo identificado:

```text
/etc/nginx/sites-available/ufv-isb-split
```

Rotas relevantes:

```text
listen 80 default_server
location /memoria-de-massa -> proxy_pass http://127.0.0.1:8082
location /api/memoria-de-massa -> proxy_pass http://127.0.0.1:8082
location / -> proxy_pass http://127.0.0.1:8081
```

---

## 6. Regra Para O Portal

No portal Planalto:

- linkar **UFV-ISB Hub** para `http://192.168.190.210/`;
- linkar **Planalto PowerView / Memoria de Massa** para `http://192.168.190.210/memoria-de-massa`;
- nao linkar **Engenheiro IA UFV** para `http://192.168.190.210:5000/`;
- manter **Engenheiro IA UFV** apenas como referencia historica/desativada ate existir interface web ou integracao util.
