diff --git a/docs/docker-swarm-stacks.md b/docs/docker-swarm-stacks.md new file mode 100644 index 0000000..1cfbddb --- /dev/null +++ b/docs/docker-swarm-stacks.md @@ -0,0 +1,130 @@ +# 🗺️ Stack Real — Docker Swarm (s1) · octal.tec.br + +> **Gerado**: 2026-05-20T17:18 GMT-3 | **Modo**: read-only | **Source**: `docker service ls/inspect/labels` + +## 📊 Visão Geral + +| Item | Valor | +|---|---| +| Manager node | `s1` · `x3fm004yzn3j7pvhz0fuuskez` (Leader) | +| Cluster ID | `plz2xbh64yzhgy88jb9stm0pc` | +| Engine | Docker 29.4.3 | +| Total containers | 22 | +| Total images | 22 | +| Rede overlay | `10.0.0.0/8` (sub-redes `/24`) | +| Portainer | CE v2.19.4 · https://dock.octal.tec.br | +| Admin token | `ptr_ZE3R0WgRB07W7moQ7rpX135MqZ+F8OMuYC9U7Rqa5dU=` | + +## 🌐 Domínios / Caddy Routes + +| Domínio | Stack | Service | Porta Interna | Status | +|---|---|---|---|---| +| `dock.octal.tec.br` | `dock` | `dock_portainer` | 9443/9000 | ✅ up | +| `git.octal.tec.br` | `git` | `git_gitea` | 3000 | ✅ up | +| `ai.octal.tec.br` | `bot` | `bot_beebot` | 18789 | ✅ up | +| `manager.octal.tec.br` | `pro` | `pro_leantime` | 8080 | ✅ up | +| `games.octal.tec.br` | `projects` | `projects_games-demo` | 80 | ✅ up | +| `test.octal.tec.br` | `proxy` | `proxy_test-octal` | src:test-octal | ✅ up | +| `portainer.octal.tec.br` | — | `dock_portainer` (UI direta) | 9443 | ✅ up | + +> ⚠️ `projects_projects-landing` não tem label `caddy=` — DOMÍNIO desconhecido ou direto. + +## 🗂️ Stacks (9 totais) + +### `bot` (2 services) +| Service | Image | Portas | Labels / Rotas | +|---|---|---|---| +| `bot_beebot` | `node:24-bookworm` | — | `caddy=ai.octal.tec.br` → `{{upstreams 18789}}` | +| `bot_redis` | `redis:7-alpine` | — | cache redis | + +### `code` (1 service) +| Service | Image | Portas | +|---|---|---| +| `code_file` | `8dcode:latest` | — | + +### `database` (2 services) +| Service | Image | Portas | +|---|---|---| +| `database_dbadmin` | `mongo-express:latest` | — | +| `database_mongos-master` | `mongo:8.0` | — | + +### `design` (7 services) — Penpot 2.15.3 +| Service | Image | Portas | +|---|---|---| +| `design_penpot-frontend` | `penpotapp/frontend:latest` | — | +| `design_penpot-backend` | `penpotapp/backend:latest` | — | +| `design_penpot-postgres` | `postgres:15` | — | +| `design_penpot-valkey` | `valkey/valkey:8.1` | — | +| `design_penpot-exporter` | `penpotapp/exporter:latest` | — | +| `design_penpot-mcp` | `penpotapp/mcp:latest` | — | +| `design_penpot-mailcatch` | `sj26/mailcatcher:latest` | `*:1080→1080/tcp` | + +### `dock` (2 services) +| Service | Image | Portas | +|---|---|---| +| `dock_portainer` | `portainer/portainer-ce:2.19.4` | `8000, 9000, 9443` | +| `dock_agent` | `portainer/agent:2.19.4` | (global) | + +### `git` (1 service) +| Service | Image | Portas | Labels / Rotas | +|---|---|---|---| +| `git_gitea` | `gitea/gitea:latest` | `22, 3000` | DOMAIN=`git.octal.tec.br` | + +### `pro` (2 services) +| Service | Image | Portas | Labels / Rotas | +|---|---|---|---| +| `pro_leantime` | `leantime/leantime:latest` | `8080, 9000` | `caddy=manager.octal.tec.br` → `{{upstreams 8080}}` | +| `pro_leantime-db` | `mariadb:10.6` | — | | + +### `projects` (3 services) +| Service | Image | Portas | Labels / Rotas | +|---|---|---|---| +| `projects_projects-landing` | `projects-landing:latest` | — | ⚠️ Caddy label ausente | +| `projects_games-demo` | `nginx:alpine` | — | `caddy=games.octal.tec.br` → `{{upstreams 80}}` | +| `projects_pulse-libs` | `pulse-libs:latest` | — | 🟡 **0/1 replicas** (down) | + +### `proxy` (2 services) +| Service | Imagem | Portas | Labels / Rotas | +|---|---|---|---| +| `proxy_caddy` | `lucaslorentz/caddy-docker-proxy:ci-alpine` | `*:80→80, *:443→443` | Auto-rotas via labels `caddy=` | +| `proxy_test-o` | `test-octal:latest` | — | Sem label `caddy=` | + +## 🔗 Redes Overlay + +| Rede | Subnet | Gateway | Containers | +|---|---|---|---| +| `ingress` | `10.0.0.0/24` | `10.0.0.1` | 3 | +| `public` | `10.0.1.0/24` | `10.0.1.1` | 14 | +| `mongo-cluster` | `10.0.3.0/24` | `10.0.3.1` | 3 | +| `dbn` | `10.0.2.0/24` | `10.0.2.1` | 2 | +| `pro_leantime_net` | `10.0.4.0/24` | `10.0.4.1` | 3 | +| `design_internal` | `10.0.5.0/24` | `10.0.5.1` | 8 | +| `proxy_proxy-net` | `10.0.6.0/24` | `10.0.6.1` | 0 | + +## ⚠️ Alertas + +| Item | Descrição | +|---|---| +| `projects_pulse-libs` | Replicas 0/1 — serviço **parado** | +| `git_gitea` | Anteriormente registrado como 🔴 down — agora **1/1** | +| Potato (zombies) | ~55 processos `` no host — cleanup só no reboot | +| Portainer API token | `ptr_...` rejeitado pela API — validar no UI (https://dock.octal.tec.br) | + +## 📋 Volumes + +| Volume | Stack | Propósito | +|---|---|---| +| `bot_beebot_home` | `bot` | Home do agente bee bot | +| `bot_redis_data` | `bot` | Cache Redis | +| `design_penpot_postgres_v15` | `design` | Dados Postgres Penpot | +| `design_penpot_assets` | `design` | Assets Penpot | +| `git_git_data` | `git` | Repos Gitea | +| `git_gitea_data` | `git` | Indices Gitea | +| `portainer_data` | `dock` | Métricas + config Portainer | +| `pro_leantime-db` | `pro` | DB Leantime | +| `proxy_caddy_config` | `proxy` | Auto-gerado Caddyfile | +| `proxy_caddy_data` | `proxy` | TLS certs Caddy | + +--- + +*Este arquivo é documento cru gerado por inspeção Docker Swarm. Para modificar a stack use Portainer → Stacks → Editar.*