- workflows/n8n-current/: remover 3 stubs (chatwoot/saleor/twenty) movidos para backup local (workflows-stubs-2026-07-06/) - .gitignore: incluir .gitea_token (segredo) e *.bak (backups antigos) - CLAUDE.md: atualizado para 06/jul/2026 (substituicao Hermes→Twenty, 20 containers ativos, 9 subdomínios validados, pendências críticas) Higienizacao previa nesta sessao (commit a parte nao aplicavel): - 14 volumes Docker orfaos removidos (~2.4GB) - 14 imagens Docker sem uso removidas (~5GB) - 2 networks orfas removidas - Traefik limpo (IPs hardcoded → service names) - Hermes CRM backups compactados (271KB → 84KB) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
10 KiB
10 KiB
CLAUDE.md — Motor E-commerce Multi-Canal Brasil
Dono: Iris Florencio | irisflorencio@yahoo.com.br Atualizado: 06/jul/2026 VPS: 31.220.78.126 (Ubuntu 24.04, 193GB disco, 11GB RAM) Gateway: Hermes + Telegram bot @OB1s
Projeto
Motor e-commerce multi-canal para o mercado brasileiro. Objetivo: operar Amazon, Mercado Livre, Shopee, Magazine Luiza, TikTok Shop e Site Próprio a partir de um motor centralizado (Saleor + PostgreSQL + Redis + n8n + WhatsApp).
Status Atual (06/jul/2026 — pós-higienização)
| Sistema | Status | URL | Container |
|---|---|---|---|
| Traefik | ✅ | http://31.220.78.126:8090 | m5_traefik |
| Saleor | ✅ | loja.m5digital.net.br | m5_saleor |
| Saleor Dashboard | ✅ | dashboard.m5digital.net.br | m5_saleor_dashboard |
| PostgreSQL | ✅ | - | m5_postgres |
| Redis | ✅ | - | m5_redis |
| Gitea | ✅ | git.m5digital.net.br | m5_gitea |
| n8n | ⚠️ PARCIAL | n8n.m5digital.net.br | m5_n8n (login quebrado) |
| OpenWA | ✅ | wa.m5digital.net.br | m5_openwa |
| Chatwoot | ✅ | chat.m5digital.net.br | chatwoot-chatwoot-1 |
| Twenty CRM | ✅ | crm.m5digital.net.br | twenty_front (substituiu Hermes CRM) |
| Portainer | ✅ | http://31.220.78.126:9443 | portainer |
| yt-pub-livesx | ✅ | video.m5digital.net.br | yt-pub-livesx-dashboard-1 |
| Omniroute | ✅ | gateway.digitalavello.shop | omniroute |
20 containers ativos · 9 subdomínios HTTPS validados · 0 produtos Saleor
Estrutura de Diretórios
/root/ecommerce/ # RAIZ na VPS
├── HANDOFF-2026-07-06.md # Estado completo + plano
├── CLAUDE.md # ESTE ARQUIVO
├── vault/ # Obsidian KB — fonte de verdade
│ ├── checkpoint-2026-06-22.md
│ └── ecommerce-kb/
│ ├── HOME.md
│ ├── DASHBOARD.md
│ ├── SYSTEMS-STATUS.md # Status atual (atualizado 06/jul)
│ ├── HIGIENIZACAO-06jul2026.md # Log da limpeza desta sessão
│ ├── N8N-WORKFLOWS.md
│ ├── TWENTY-CRM-SETUP.md
│ ├── CHATWOOT-SETUP.md
│ ├── INTEGRATIONS.md
│ └── ...
├── scripts/ # Scripts + Docker
│ ├── docker-compose.m5.yml # Stack completa M5
│ ├── openwa-compose.yml # WhatsApp (OpenWA v0.5.0)
│ ├── traefik-conf/
│ │ ├── traefik.yml
│ │ ├── routes.yml # 9 subdomínios HTTPS
│ │ └── dynamic-config.yml
│ ├── backups/
│ ├── calculators/
│ ├── compliance/
│ └── skills/
├── skills/ # Skills Hermes (18 marketplaces)
├── ecom-store/ # Repo de código (git + Gitea)
│ ├── utils/
│ │ ├── m5log.py # Logger M5 (3 modos: text/json/json_clean)
│ │ └── example_usage.py
│ ├── README.md
│ └── .gitignore # inclui .gitea_token
├── workflows/ # n8n workflows
│ ├── m5-openwa-to-twenty.json # WhatsApp → CRM (importar via UI)
│ ├── m5-twenty-to-openwa.json # CRM → WhatsApp
│ ├── chatwoot-integration.json
│ ├── README-FASE5-OPENWA-TWENTY.md
│ └── n8n-current/ # (vazio, stubs movidos para backup)
├── backup/ # Snapshots do vault + workflows stubs
├── logs/ # Logs m5log (JSON clean rotacionado)
└── .gitea_token # Git token (chmod 600, gitignored)
Mudanças Recentes (06/jul/2026)
Substituições
- Hermes CRM → Twenty CRM — backup em
/root/backups/2026-07-06_pre-crm-reorg/ - Container
twenty_frontna porta 3000, atrás decrm-httpsno Traefik
Higienização (~7.4GB liberados)
- 14 volumes Docker órfãos removidos
- 2 networks órfãs removidas
- 14 imagens Docker sem uso removidas
- Traefik limpo (IPs hardcoded → service names)
- 3 workflows n8n stubs movidos para backup local
Validação
- 9/9 subdomínios HTTP 200
- Traefik dashboard UP
- OpenWA
marcos-pessoalsessão READY - Gitea repo
ecom-storepushado (2 commits)
Pendências Críticas (06/jul/2026)
- n8n login quebrado — wizard de senha não aceita (auth layer além do DB resetado)
- Sessão WhatsApp
bussines-m5— QR não escaneado - Saleor sem produtos — zerado em 21/jun, aguardando catalogação
- Workflows reais do n8n — JSON pronto mas precisa importar via UI (depende #1)
- Webhook OpenWA → n8n — depende sessão ativa
Stack de Integração
| Camada | Componente |
|---|---|
| Motor e-commerce | Saleor 3.23 + PostgreSQL 16 + Redis 7 |
| Orquestração | n8n 2.27.4 (workflows em /root/ecommerce/workflows/) |
| Proxy | Traefik 3.0 + Let's Encrypt (dedyn.io) |
| OpenWA v0.5.0 (ghcr.io/rmyndharis/openwa) | |
| CRM | Twenty CRM 1.x (twentycrm/twenty) |
| Suporte | Chatwoot 3.3.0 |
| Código | Gitea 1.22.6 |
| LLMs | custom:aibee (aibee.cloud) + Ollama qwen3.6/deepseek-v4 |
| GPU | NVIDIA APIs (build.nvidia.com) — Nemotron, Kimi |
URLs dos Serviços
| Serviço | URL |
|---|---|
| Traefik Dashboard | http://31.220.78.126:8090 |
| Saleor API | https://loja.m5digital.net.br/graphql/ |
| Saleor Dashboard | https://dashboard.m5digital.net.br |
| Gitea | https://git.m5digital.net.br |
| n8n | https://n8n.m5digital.net.br |
| OpenWA Dashboard | https://wa.m5digital.net.br |
| OpenWA API | https://wa.m5digital.net.br/api |
| Chatwoot | https://chat.m5digital.net.br |
| Twenty CRM | https://crm.m5digital.net.br |
| yt-pub-livesx | https://video.m5digital.net.br |
| Omniroute | https://gateway.digitalavello.shop |
| Portainer | http://31.220.78.126:9443 |
OpenWA — WhatsApp Business
- Software: rmyndharis/OpenWA v0.5.0 (MIT, NestJS + whatsapp-web.js + React)
- Container:
m5_openwa - Porta interna: 2785
- Dashboard: https://wa.m5digital.net.br
- API: https://wa.m5digital.net.br/api
- API Key (regenerada 29/jun/2026):
owa_k1_1e56b98c39a2daa5bdb537d04f35da17117021bedc8c1de80eaba2926c584b39 - Persistência: bind mount
/root/ecommerce/scripts/openwa-sessions/→/app/data/ - Sessões:
marcos-pessoal— READY ✓bussines-m5— PENDENTE (escanear QR no dashboard)
Twenty CRM — Cliente/CRM
- Software: Twenty CRM 1.x (MIT)
- Container:
twenty_front(NestJS frontend) - Backend:
twenty_postgres(5434) +twenty_redis - URL: https://crm.m5digital.net.br
- Traefik route:
crm-https→twenty_front:3000 - Setup: wizard via browser (em andamento pela Iris)
- Integração n8n: workflows em
/root/ecommerce/workflows/m5-*-twenty.json
Chatwoot — Suporte
- Software: Chatwoot v3.3.0 (Ruby on Rails)
- Container:
chatwoot-chatwoot-1 - Admin: Marcos Moreira (admin@m5online.com.br)
- Account ID: 1 (M5 Digital)
- API Token:
AwnRiNkenTfzmipP8sM4dewQ - API Base: https://chat.m5digital.net.br/api/v1
- Rede Docker:
scripts_m5_network
Gitea — Código
- Software: Gitea 1.22.6
- Container:
m5_gitea - URL: https://git.m5digital.net.br
- Repo principal:
m5digital/ecom-store(push feito 06/jul, 2 commits) - Token de acesso:
/root/ecommerce/.gitea_token(chmod 600, fora do git) - SSH: porta 2222
Configurações de Credenciais
.env da VPS
- File:
/root/ecommerce/scripts/.env - Contém: credenciais PostgreSQL, Redis, Saleor, Gitea, n8n, OpenWA API keys
.env Hermes
- File:
/root/.hermes/.env - Contém:
ANTHROPIC_BASE_URL=https://gateway.digitalavello.shop
Claude Code na VPS
- Wrapper:
/usr/local/bin/cc - Key file:
/root/.claude_keys/key(mode 600) - Modelo: claude-sonnet-4-6 via digitalavello.shop
Cron Jobs Ativos
| Job | Schedule | Status |
|---|---|---|
| M5 — Resumo Diário 08:00 | 0 8 * * * |
ok |
| M5 — Check Docker Health | 0 */2 * * * |
ok |
| M5 — Compliance Check 14:00 | 0 14 * * * |
ok |
| M5 — Backup Vault 02:00 | 0 2 * * * |
pausado |
Canais de Venda (prioridade)
| # | Canal | Status | Tipo |
|---|---|---|---|
| 1 | Mercado Livre | SKILL pronta | Marketplace |
| 2 | Shopee | SKILL pronta | Marketplace |
| 3 | Amazon | SKILL pronta | Marketplace (FBA) |
| 4 | Magazine Luiza | SKILL pronta | Marketplace |
| 5 | TikTok Shop | SKILL pronta | Marketplace + Live Commerce |
| 6 | Site Próprio | SKILL pronta | B2C / B2B |
Recursos INEMA Disponíveis
Tudo em /root/inema_materiais/:
viralads/— curso UGC, ViralAdsyt-pub-livesx/— pipeline vídeo automatizado (Docker)ads-skill.zip(ja instalado em~/.hermes/skills/ads-skill/)ClaudeOS-Hermes-V2.3.zip— dashboard operacional (88MB)
Regras de Operação
- NUNCA criar arquivos em root — usar
/root/ecommerce/ - Secrets vão em
.env— nunca comitar - Vault Obsidian (
/root/ecommerce/vault/) é fonte de verdade - Skills em
/root/ecommerce/skills/e~/.hermes/skills/ecommerce/ - Rede Docker:
scripts_m5_network— todos os containers nela - Porta OpenWA: 2785 (NÃO 8002 — legado)
- Aprovar item a item antes de executar ações autônomas
- Apresentar plano antes de agir
- Trabalho completo — não só planos
- Autoverificar código antes de entregar (skill-auto-verify)
- Questionar respostas medíocres — nunca aceitar "ok"
- Manter contexto pequeno — compactar se > 60%
Referências Rápidas
/root/ecommerce/HANDOFF-2026-07-06.md— handoff completo da operação/root/ecommerce/vault/ecommerce-kb/SYSTEMS-STATUS.md— status atual dos sistemas/root/ecommerce/vault/ecommerce-kb/HIGIENIZACAO-06jul2026.md— log da limpeza/root/ecommerce/workflows/README-FASE5-OPENWA-TWENTY.md— passo-a-passo Fase 5/root/ecommerce/scripts/traefik-conf/routes.yml— roteamento HTTP/root/ecommerce/ecom-store/utils/m5log.py— Logger M5 (303 linhas)/root/.claude/CLAUDE.md— Skills Hermes auto-invocadas/root/inema_materiais/— Material INEMA (cursos, ads, vídeo)/root/backups/2026-07-06_pre-crm-reorg/MANIFEST.md— Inventário pré-CRM