6b6c706979
- TOOLS.md: nova secao Docker Swarm com tabela completa das 9 stacks - MEMORY.md: adiciona Portainer v2.19.4 + admin token info + dominio map - memory/2026-05-20.md: inventario completo pessoal (22 containers, redes overlay)
6.1 KiB
6.1 KiB
Memória Diária — 2026-05-20
🕐 Heartbeats
- 15:34 — Disco 65% ok, openclaw 3.3% CPU 598MB RAM, zombies 8 (↓ de 36 → caindo saudavelmente), apt 20 packages quedando a 1 (tzdata), MEMORY 3415 chars, stale lock espúrio (arquivo fresh 15:35), ERRORS/patterns sem mudanças
- 10:34 — Disco 76% ⚠️, load avg 3.97/4.16, 55 zombies (↑ de 46),MEMORY 1874 chars ok, clawhub CLI ausente, ERRORS/patterns sem mudanças
- 07:34 — Disco 76% ok, 20 packages up (security), clawhub via
openclaw skillsworks, MEMORY 1874 chars, no ERRORS critical - 05:04 — Disco 76% (ok), ~30 pacotes upgradable (security), zombies ~15, MEMORY ok
- 02:04 — Disco 73% → 76% trending up, apt upgrades disponíveis, defuncto ~15, MEMORY 1874 chars
📊 Sistema Load — 14:04
- openclaw PID: ~3.3% CPU, ~600 MB RAM — normal
- Zombie : 8 — caindo rapidamente, todos PPID=1, nenhum recurso consumido
/dev/shm: 64M/0 usado — muito baixo
💾 Disco — 14:04
- overlay: 87G total, 54G used (65%) — recuperou da tendência de alta ✅
- /home: 87G, 65% usado
📦 Pacotes Atualizáveis — 14:04 / 15:34
- 14:04 → 20 pacotes; 15:34 → 1 pacote restante (tzdata). Queda acentuada, boa resposta de atualizações
- Aprovação usuária pendente apenas para tzdata
🚨 Stale Lock — VERIFICADO
- Verificado 15:34: arquivo
4a184408-c4c8-4817-83d6-a87cb292a650.jsonlcom 15:35 timestamp (ativo/atual) - A lock original já foi substituída — não é mais stale, session atual é a 4a184408
📦 Pacotes Atualizáveis — 16:34 update
- 20 pacotes no total; ~6 já aplicados entre beats anteriores; restam 14
- Destacam-se: gnutls30 (security), libc6/bin, openssl, openssh-client — considerados de alta pertinência
- Aprovação usuária pode ser necessária via apt upgrade
⏱️ Heartbeat 16:34
- Disco 66% ok, systemd indisponível (container), MEMORY.md 1359 bytes (~161 palavras, 28 linhas) — bem abaixo de 3500 chars ✅
- ERRORS.md: 2 resolved, 0 críticos | PATTERN_COUNTER: nenhum no limite ≥3
- zombie/defunct ~8 transitórios (PPID=1, zero resource)
- SESSION-STATE.md não precisou atualização — MEMORY.md não consta mais acima do limite
📚 Learnings
- ERRORS.md: 2 ERRs resolvidos, nenhum crítico
- PATTERN_COUNTER.md:
react.testing-library✅ promoted,vitest.jsdom.mocks✅ promoted (ambos >= 3 count) vitest.pure-dom-matchersc=1,jsdom.fireEvent-change-writablec=1 — tracking- PATTERN_COUNTER chars: 3415 < 3500 ✅
🐳 Docker Swarm
- 1 node (Manager) · Cluster ID
plz2xbh64yzhgy88jb9stm0pc - 39 containers · 22 imagens · overlay 10.0.0.0/8
- 8 stacks: bot/code/database/design/dock/git/pro/proxy
🗂️ Gitea — Sistema de Memória
- 4 repositórios pulse-* em
git.octal.tec.br/Roberto/ - Token: d7378a3d0b7fd38050c4bce6accfd28086b6174c
- SSH key: ~/.ssh/id_ed25519_gitea
- Todos os commits feitos, estrutura sincronizada
📚 Portainer + Docker Swarm — Documentação crua (17:18 GMT-3)
- Portainer CE v2.19.4 em
dock.octal.tec.br— stackdock(portainer-ce + agent) - Admin token (portainer):
ptr_ZE3R0WgRB07W7moQ7rpX135MqZ+F8OMuYC9U7Rqa5dU=— prefixo PTR, funcionou em/api/statusmas 401 em/api/endpointse/api/auth→ JWT expirado/limite de escopo; senha admin necessária para login via POST/api/auth— não estava documentada - Portainer API docs: docs.portainer.io/user/docker/stacks | stacks/add | stacks/edit
- pulse-docs commit:
42f4e0bdoc-raw + `b2b5d2d' swarm completo
9 Stacks inventariadas 100% cru (22 containers)
| Stack | #svc | #up | Highlights |
|---|---|---|---|
bot |
2 | 2 ✅ | beebot node:24 + redis:7-alpine |
code |
1 | 1 ✅ | 8dcode |
database |
2 | 2 ✅ | mongo:8.0 + mongo-express |
design |
7 | 7 ✅ | Penpot 2.15.3 completo |
dock |
2 | 2 ✅ | portainer-ce:2.19.4 + agent:2.19.4 |
git |
1 | 1 ✅ | gitea:latest |
pro |
2 | 2 ✅ | leantime:latest + mariadb:10.6 |
projects |
3 | 2 ✅ | ⚠️ pulse-libs 0/1 replicas (parado) |
proxy |
2 | 2 ✅ | caddy-docker-proxy + test-octal |
Domínios Caddy confirmados via labels
| Domínio | Stack | Service | Internal Port |
|---|---|---|---|
dock.octal.tec.br |
dock | dock_portainer | 9443/9000 |
git.octal.tec.br |
git | git_gitea | 3000 |
ai.octal.tec.br |
bot | bot_beebot | 18789 |
manager.octal.tec.br |
pro | pro_leantime | 8080 |
games.octal.tec.br |
projects | projects_games-demo | 80 |
test.octal.tec.br |
proxy | proxy_test-octal | — |
Redes Overlay
ingress → 10.0.0.0/24 | public → 10.0.1.0/24 | dbn → 10.0.2.0/24
mongo-cluster → 10.0.3.0/24 | pro_leantime_net → 10.0.4.0/24
design_internal → 10.0.5.0/24 | proxy_proxy-net → 10.0.6.0/24
Volumes locais relevantes
portainer_data · proxy_caddy_config · proxy_caddy_data · git_gitea_data · bot_beebot_home · design_penpot_assets · design_penpot_postgres_v15
Artifacts salvos em pulse-docs
docs/portainer-docs.md— docs Portainer + dev/stacksdocs/docker-swarm-stacks.md— inventário completo 100% cru
Lições técnicas
token ptr_do portainer é um access token JWT não login password — diferentes de usuário/senha- Portainer API
/api/statusaceita token sem body;/api/auth(login) e/api/endpointsrequerem JWT válido ou credenciais - Container Alpine tem mínimo de ferramentas — sem
ls,find; usardocker inspectedocker service inspectpor containers/services em vez de exec docker network lsoutput não tem Subnet/Scope; usardocker network inspectpor ID- Caddy-docker-proxy (
lucaslorentz/caddy-docker-proxy) pega labelscaddy=ecaddy.reverse_proxy=de cada container para gerar rotas automaticamente
🅷 Alertas para priorizar
- ⚠️ Zombies recuando para 8 ✅ — monitor menos urgente agora
- Clawhub instalável pendente — usar
openclaw skills update - Pacotes segurança: apenas tzdata restante — usuário pode aprovar apt upgrade
- git_gitea 🔴 / bot_office crash loop — stacks Docker, não afetam agente diretamente