docs: update vim services inventory and add NC1 to root README

This commit is contained in:
GoHorse Deploy 2026-02-14 23:52:25 +00:00
parent 806625e600
commit e6c9d6e91a
2 changed files with 123 additions and 152 deletions

View file

@ -1,19 +1,27 @@
# Infracloud - Infraestrutura Rede5
Este repositório contém a documentação e os manifestos de Infraestrutura como Código (IaC) da Rede5.
Este repositorio contem a documentacao e os manifestos de Infraestrutura como Codigo (IaC) da Rede5.
## 📂 Estrutura do Projeto
## Estrutura do Projeto
### ☸️ Kubernetes (K3s)
### Kubernetes (K3s)
Clusters Kubernetes gerenciados via K3s (Lightweight Kubernetes).
- [**Documentação Geral K3s**](./k3s/README.md)
- [**Documentacao Geral K3s**](./k3s/README.md)
- [Arquitetura](./k3s/architecture.md)
- [Inventário de Serviços](./k3s/services_inventory.md)
- [Inventario de Servicos](./k3s/services_inventory.md)
### 🖥️ VPS (Virtual Private Servers)
### VPS (Virtual Private Servers)
Servidores standalone gerenciados individualmente.
- [**Apolo**](./vps/apolo/README.md): Servidor de Produção/Staging (Podman + Systemd).
- [**Apolo**](./vps/apolo/README.md): Servidor de Producao/Staging (Podman + Systemd). IP: 45.143.7.55
- [**Vim**](./vps/vim/README.md): Servidor de Producao (Dokku PaaS). IP: 38.19.201.52
- [**NC1**](./vps/nc1/README.md): Servidor de Producao (Podman + Systemd). IP: 185.194.141.70
### Containers
Definicoes de containers compartilhados entre servidores.
- [**Containers**](./containers/): Dockerfiles e configuracoes de containers

View file

@ -1,133 +1,96 @@
# Inventário de Serviços Vim
> Última atualização: 2026-02-14
## Visão Geral
Este documento apresenta o inventário completo de serviços hospedados no servidor Vim, utilizando a plataforma Dokku como camada de gerenciamento de aplicações baseadas em contêineres.
Este documento apresenta o inventário completo de serviços hospedados no servidor Vim (38.19.201.52), utilizando a plataforma Dokku como camada de gerenciamento de aplicações baseadas em contêineres.
## Tabela de Aplicações
| Aplicação | Domínio | Porta do Container | Porta Exposta | Protocolo | Banco de Dados | Status |
|-----------|---------|:------------------:|--------------:|----------:|----------------|:------:|
| **GoHorse Backend** | `dokku.rede5.com.br` | 5000 | 5000 | HTTP | postgres-main | ✅ Rodando |
| **GoHorse Frontend** | `dokku.rede5.com.br` | 3000 | 3000 | HTTP | - | ✅ Rodando |
| **GoHorse Backoffice** | `gohorse-backoffice.dokku.rede5.com.br` | 3001 | 3001 | HTTP | postgres-main | ✅ Rodando |
| **GoHorse Seeder** | `gohorse-seeder.dokku.rede5.com.br` | 3001 | 3001 | HTTP | postgres-main | ✅ Rodando |
| **GoHorse Jobs** | `gohorsejobs.dokku.rede5.com.br` | 8521 | 8521 | HTTP | postgres-main | ✅ Rodando |
| **Sextando API** | `api-dev.sextando.com.br` | 8080 | 8080 | HTTPS | postgres-main | ✅ Rodando |
| **Sextando Frontend** | `dev.sextando.com.br` | 3000 | 3000 | HTTPS | - | ✅ Rodando |
| **Agno Orquestrador** | `agno.rede5.com.br` | 5000 | 5000 | HTTPS | agno-db | ✅ Rodando |
| Aplicação | Domínio | Porta | Proxy | Banco de Dados | SSL | Status |
|-----------|---------|:-----:|:-----:|----------------|:---:|:------:|
| **gohorse-backend** | dokku.rede5.com.br | 8521 | Desabilitado | PostgreSQL externo (Absam) | - | Rodando |
| **gohorse-frontend** | dokku.rede5.com.br | 3000 | Nginx | - | - | Rodando |
| **gohorse-backoffice** | gohorse-backoffice.dokku.rede5.com.br | 3001 | Nginx | postgres-main | - | Rodando |
| **gohorse-seeder** | gohorse-seeder.dokku.rede5.com.br | 3001 | Nginx | postgres-main | - | Rodando |
| **gohorsejobs** | gohorsejobs.dokku.rede5.com.br | 8521 | Nginx | postgres-main | - | Rodando |
| **sextando** | api-dev.sextando.com.br | 8080 | Nginx | postgres-main | HTTPS | Rodando |
| **sextando-frontend** | dev.sextando.com.br | 3000 | Nginx | - | HTTPS | Rodando |
| **agno-orquestrador** | agno.rede5.com.br | 5000 | Nginx | agno-db | HTTPS | Rodando |
### Notas sobre Aplicações
- **gohorse-backend**: Proxy Dokku desabilitado, Docker expõe porta 8521 diretamente. Usa banco PostgreSQL externo (Absam Cloud). JWT_SECRET configurado.
- **gohorsejobs**: Porta 8521 compartilhada com gohorse-backend (containers diferentes).
- **gohorse-frontend**: Possui container docker-compose dev rodando em paralelo ao Dokku.
## Tabela de Bancos de Dados
| Serviço | Versão | Tamanho (aprox) | Links de Apps | Porta Interna | Volume |
|---------|:------:|:---------------:|---------------|:-------------:|-------|
| **postgres-main** | 17 | - | gohorse-backend, gohorsejobs, sextando | 5432 | /var/lib/dokku/services/postgres/postgres-main/data |
| **agno-db** | 18.1 | - | agno-orquestrador | 5432 | /var/lib/dokku/services/postgres/agno-db/data |
| Serviço | Versao | Apps Vinculados | Porta | Volume |
|---------|:------:|-----------------|:-----:|--------|
| **postgres-main** | 17 | gohorsejobs, sextando, gohorse-backoffice, gohorse-seeder | 5432 | /var/lib/dokku/services/postgres/postgres-main/data |
| **agno-db** | 18.1 | agno-orquestrador | 5432 | /var/lib/dokku/services/postgres/agno-db/data |
## Tabela de Containers Docker (Internos)
**Nota**: gohorse-backend usa banco PostgreSQL externo (Absam Cloud), nao o postgres-main local.
| Container | Imagem | Status | Porta | Notas |
|-----------|--------|:------:|------|-------|
| gohorse-backend.web.1 | dokku/gohorse-backend:latest | ✅ Up | 8521/tcp | Backend principal |
| gohorse-frontend.web.1 | dokku/gohorse-frontend:latest | ✅ Up | 3000/tcp | Frontend GoHorse |
| gohorsejobs-frontend-1 | node:20-alpine | ✅ Up | 3000/tcp | Frontend Jobs |
| gohorsejobs.web.1 | dokku/gohorsejobs:latest | ✅ Up | 8521/tcp | Jobs processor |
| gohorsejobs.web.1.upcoming-1812 | 3ef1415c2699 | ✅ Up | 8521/tcp | Container anterior |
| gohorse-backoffice.web.1.upcoming-27801 | dokku/gohorse-backoffice:latest | ✅ Up | 3001/tcp | Backoffice admin |
| gohorse-seeder.web.1 | dokku/gohorse-seeder:latest | ✅ Up | 3001/tcp | Seeder (healthy) |
| sextando.web.1 | dokku/sextando:latest | ✅ Up | 8080/tcp | API Sextando |
| sextando-frontend.web.1 | b208b5d37fc5 | ✅ Up | 3000/tcp | Frontend Sextando |
| agno-orquestrador.web.1 | dokku/agno-orquestrador:latest | ✅ Up | 5000/tcp | Orquestrador Agno |
| dokku.postgres.postgres-main | postgres:17 | ✅ Up | 5432/tcp | Banco principal |
| dokku.postgres.agno-db | postgres:18.1 | ✅ Up | 5432/tcp | Banco Agno |
## Containers Docker Ativos
### Containers Parados (Exited)
| Container | Imagem | Porta | Notas |
|-----------|--------|:-----:|-------|
| gohorse-backend.web.1 | dokku/gohorse-backend:latest | 8521/tcp | API Go, deploy 2026-02-14 |
| gohorse-frontend.web.1 | 27aa73f3586b | 3000/tcp | Frontend Next.js |
| gohorse-backoffice.web.1 | dokku/gohorse-backoffice:latest | 3001/tcp | Backoffice NestJS |
| gohorse-seeder.web.1 | dokku/gohorse-seeder:latest | 3001/tcp | Seeder (healthy) |
| gohorsejobs.web.1 | dokku/gohorsejobs:latest | 8521/tcp | Jobs API Go |
| sextando.web.1 | dokku/sextando:latest | 8080/tcp | API Sextando |
| sextando-frontend.web.1 | b208b5d37fc5 | 3000/tcp | Frontend Sextando |
| agno-orquestrador.web.1 | dokku/agno-orquestrador:latest | 5000/tcp | Streamlit + DeepSeek |
| gohorse-frontend-dev | node:20-alpine | 3000 | Docker-compose dev |
| dokku.postgres.postgres-main | postgres:17 | 5432/tcp | Banco principal |
| dokku.postgres.agno-db | postgres:18.1 | 5432/tcp | Banco Agno |
| Container | Imagem | Status | Motivo |
|-----------|--------|:------:|--------|
| gohorse-backend.web.1.upcoming-16753 | dokku/gohorse-backend:latest | ❌ Exited (143) | Substituído por nova versão |
| gohorse-frontend-dev | node:20-alpine | ❌ Exited (255) | Ambiente de desenvolvimento |
| epic_poitras | node:20-alpine | ❌ Created | Container não iniciado |
| gohorse-backend | golang:1.24 | ❌ Exited (2) | Container antigo |
| gohorse-seeder | a9cd9bac76cf | ❌ Exited (137) | Container antigo |
| gohorse-backoffice | a9cd9bac76cf | ❌ Exited (255) | Container antigo |
## Repositorios Git
## Redes Docker
| App | Tipo | Remote | URL |
|-----|------|--------|-----|
| gohorse-frontend | Forgejo | origin | pipe.gohorsejobs.com/bohessefm/gohorsejobs.git |
| gohorse-frontend | Dokku | dokku | dokku@localhost:gohorse-frontend |
| gohorse-backend | Dokku | dokku | dokku@localhost:gohorse-backend |
| agno-orquestrador | GitHub | origin | github.com/rede5/agno-orquestrador |
| Rede | Driver | Escopo | Connected Containers |
|------|--------|:------:|----------------------|
| bridge | bridge | local | - |
| gohorsejobs_default | bridge | local | gohorsejobs, postgres-main |
| host | host | local | - |
| none | null | local | - |
## Dominios e SSL
## Volumes Docker
| Volume | Driver | Utilização |
|--------|:------:|------------|
| cache-sextando-frontend | local | Cache do frontend Sextando |
| go-modules | local | Módulos Go compartilhados |
| Dominio | App | SSL |
|---------|-----|:---:|
| dokku.rede5.com.br | gohorse-backend, gohorse-frontend | HTTP |
| gohorse-backoffice.dokku.rede5.com.br | gohorse-backoffice | HTTP |
| gohorse-seeder.dokku.rede5.com.br | gohorse-seeder | HTTP |
| gohorsejobs.dokku.rede5.com.br | gohorsejobs | HTTP |
| api-dev.sextando.com.br | sextando | Let's Encrypt |
| dev.sextando.com.br | sextando-frontend | Let's Encrypt |
| agno.rede5.com.br | agno-orquestrador | Let's Encrypt |
## Portas do Sistema
| Porta | Serviço | Descrição |
|:-----:|---------|-----------|
| 22 | SSH | Acesso SSH ao servidor |
| 80 | Nginx | HTTP (Redirect para 443) |
| 443 | Nginx | HTTPS (Terminação TLS) |
| 2375/2376 | Docker | API Docker (se habilitado) |
| 3000-32767 | Dokku | Range dinâmico para apps |
| Porta | Servico |
|:-----:|---------|
| 22 | SSH |
| 80 | Nginx (redirect para 443) |
| 443 | Nginx (HTTPS) |
| 8521 | gohorse-backend (Docker direto) |
## Domínios Configurados
## Services Systemd
| Domínio | App Associado | SSL/TLS |
|---------|---------------|:--------:|
| dokku.rede5.com.br | GoHorse Backend/Frontend | ❌ HTTP |
| gohorse-backoffice.dokku.rede5.com.br | GoHorse Backoffice | ❌ HTTP |
| gohorse-seeder.dokku.rede5.com.br | GoHorse Seeder | ❌ HTTP |
| gohorsejobs.dokku.rede5.com.br | GoHorse Jobs | ❌ HTTP |
| api-dev.sextando.com.br | Sextando API | ✅ HTTPS |
| dev.sextando.com.br | Sextando Frontend | ✅ HTTPS |
| agno.rede5.com.br | Agno Orquestrador | ✅ HTTPS |
| Servico | Status |
|---------|:------:|
| docker.service | active |
| dokku-event-listener.service | active |
| nginx.service | active |
## Variáveis de Ambiente Principais
## Issues Conhecidas
### postgres-main
- `DATABASE_URL`: `postgres://postgres:cd467ce208950f3adc07d40480022ede@dokku-postgres-postgres-main:5432/postgres_main`
### agno-db
- `DATABASE_URL`: `postgres://postgres:d6597def2da1a230a8a7a03e8c8186b8@dokku-postgres-agno-db:5432/agno_db`
## Services Systemd Relacionados
| Serviço | Status | Descrição |
|---------|:------:|-----------|
| docker.service | ✅ active | Docker Engine |
| dokku-event-listener.service | ✅ active | Listener de eventos Dokku |
| nginx.service | ✅ active | Proxy reverso Nginx |
## Métricas de Recursos (Aproximadas)
Com base nos containers ativos, a infraestrutura utiliza aproximadamente:
- **CPU**: 2-4 cores em uso
- **Memória**: ~4-6GB RAM
- **Armazenamento**: Depende do tamanho dos volumes PostgreSQL
## Histórico de Issues Conhecidas
### Containers Exited
Os containers marcados como "Exited" são versões anteriores que não foram limpas automaticamente. Recomenda-se:
1. **Identificar containers órfãos**: `docker ps -a --filter "status=exited"`
2. **Limpar containers antigos**: `docker container prune`
3. **Verificar se há volumes órfãos**: `docker volume ls`
### Status SSL
Vários domínios estão configurados apenas em HTTP, sem SSL. Para produção, recomenda-se configurar certificados TLS. O Dokku suporta Let's Encrypt via plugin ou configuração manual do Nginx.
### Portas Duplicadas
Alguns apps (gohorse-backend e gohorsejobs) estão usando portas internas conflitantes (8521). Verificar se há intenção de manter ambos ou se há erro de configuração.
1. **Containers orfaos**: Deploys antigos deixam containers stopped. Limpar com docker container prune.
2. **Migration duplicates**: Backend tinha migrations com prefixos duplicados (013-019). Corrigido em 2026-02-14 renumerando para 037-043.
3. **Migration runner PG transaction bug**: O runner de migrations nao tratava transacoes PG abortadas corretamente quando tabelas ja existiam. Corrigido em 2026-02-14.
4. **SSL faltando**: Dominios dokku.rede5.com.br ainda sem HTTPS.