Adiciona ao repo os scripts e configs reais do motor que estavam fora do git,
e remove arquivos legados/abandonados.
Adicionados (30):
- scripts/docker-compose.m5.yml, openwa-compose.yml, minio-compose.yml
- scripts/openwa.env (sem secrets)
- scripts/{entrypoint,saleor-entrypoint,saleor-start}.sh
- scripts/{chatwoot-setup,compliance-check,health-check,resumo-diario}.sh
- scripts/{insert_workflow,telegram_user_login,telegram_user_monitor}.py
- scripts/requirements.txt
- scripts/traefik-conf/{traefik.yml,dynamic-config.yml}
- scripts/compliance/, scripts/calculators/, scripts/backups/
- scripts/{README.md,README-INSTALL.md,WHATSAPP-SETUP.md,.gitignore}
- .gitignore (atualizado)
Removidos (ja' em backup/untracked-lixo-2026-07-06/):
- agents/, crm/, hermes_skills_backup/, api-complive/, docs/ (legados)
- scripts/{wrapper.py,wrapper.sh}
- scripts/docker-compose.m5.yml.backup, traefik-conf/routes.yml.bak2
- scripts/saleor-media/RSA_*.{bak,old_*}
- scripts/n8n-workflows/webhook-saleor.json.bak2
- scripts/backups/20260622_0300/saleor_db.sql
- integracao_completa.sh, monitoramento_vps.sh
- ruvector.db (vazio)
Ignorados via .gitignore:
- vault/ (Obsidian KB)
- skills/ (duplicado de ~/.hermes/skills/)
- scripts/{saleor-media,traefik-acme,yt-pub-livesx,minio,n8n-workflows,skills}/
- scripts/backups/2026*_*/
5.9 KiB
5.9 KiB
README-INSTALL.md — Stack M5 Brasil
Motor Ecommerce M5 | Setup Autônomo com Docker Compose
Pré-requisitos
| Ferramenta | Versão mínima | Instalação |
|---|---|---|
| Docker Desktop | 4.x+ | https://docs.docker.com/desktop/install/windows-install/ |
| Git Bash / MSYS | (já incluso no Git) | https://git-scm.com/download/win |
| curl | (já incluso) | — |
Verifique a instalação:
docker --version # Docker version 2x.x+
docker compose version # Docker Compose version v2.x+
git --version
Instalação — Passo a Passo
1. Clonar / Copiar o projeto
cd ~/Projects
git clone <seu-repo-m5> ecommerce-scripts
cd ecommerce-scripts
2. Configurar variáveis de ambiente
# Copiar o template
cp .env.example .env
# Editar com seus dados reais
nano .env # ou code .env, notepad, etc.
Campos obrigatórios a preencher em .env:
BASE_DOMAIN=seudominio.com.br
ACME_EMAIL=seu@email.com.br
POSTGRES_PASSWORD=<senha forte>
REDIS_PASSWORD=<senha forte>
SALEOR_SECRET_KEY=<chave aleatória>
N8N_PASSWORD=<senha>
STRIPE_API_KEY=<chave real>
EMAIL_URL=smtp://usuario:senha@smtp.seudominio.com.br:587
Gere uma SECRET_KEY segura:
openssl rand -hex 32
3. Configurar DNS para os subdomínios
No painel DNS do seu domínio (seudominio.com.br), crie os registros A ou CNAME:
| Subdomínio | Tipo | Valor |
|---|---|---|
vendas |
A | IP do servidor |
n8n |
A | IP do servidor |
git |
A | IP do servidor |
wa |
A | IP do servidor |
Se usar Cloudflare, configure o proxy accordingly.
4. Iniciar a stack
# Tornar scripts executáveis (Linux/WSL/Git Bash)
chmod +x SCRIPTS/*.sh
# Iniciar todos os serviços
./SCRIPTS/start-m5.sh
O script faz:
- Pull das imagens Docker
docker compose up -d- Healthcheck de cada serviço (aguarda até 90s por serviço)
- Exibe URLs de acesso
5. Setup pós-instalação
Saleor — primeiro acesso
# Criar superusuário (executar após Saleor estar pronto)
docker exec -it m5_saleor python manage.py createsuperuser
- Acesse
https://vendas.seudominio.com.br/dashboard - Configure canal de vendas (Mercado Brasil)
- Cadastre meio de pagamento (Stripe / Mercado Pago)
n8n — primeiro acesso
- Acesse
https://n8n.seudominio.com.br - Login com
N8N_USER/N8N_PASSWORDdo.env - Importe workflows de
./n8n-workflows/(se existirem)
Gitea — primeiro acesso
- Acesse
https://git.seudominio.com.br - Complete o wizard de instalação (banco já configurado via env)
- Crie usuário admin
OpenWA — primeira sessão
- Acesse
http://localhost:8081(dashboard local) - Escaneie QR Code com WhatsApp desejado
- Configure webhook para
http://n8n:5678/webhook/wa
6. Cron — backup automático
# Editar crontab
crontab -e
# Adicionar linha (backup diário às 3h da manhã):
0 3 * * * /c/Users/Iris/Projects/ecommerce-scripts/SCRIPTS/backup-vault.sh >> ~/backups/vault/cron.log 2>&1
Serviços — Visão Geral
| Serviço | Imagem | Porta local | URL |
|---|---|---|---|
| Postgres | postgres:16-alpine | 5432 | (interno) |
| Redis | redis:7-alpine | 6379 | (interno) |
| Saleor (API) | ghcr.io/saleor-commerce/saleor | 8000 | vendas.* |
| Saleor Dashboard | ghcr.io/saleor-commerce/saleor-dashboard | 80 | vendas.*/dashboard |
| n8n | n8nio/n8n | 5678 | n8n.* |
| OpenWA | openwa/wa-automate | 8080/8081 | wa.* |
| Gitea | gitea/gitea | 3000 | git.* |
| Traefik | traefik:v3.1 | 80/443/8090 | — |
Operações do Dia a Dia
# Ver status
./SCRIPTS/status-m5.sh
# Ver logs de um serviço específico
docker compose -f docker-compose.m5.yml logs -f saleor
docker compose -f docker-compose.m5.yml logs -f n8n
# Parar stack (preserva dados)
./SCRIPTS/stop-m5.sh
# Reiniciar apenas um serviço
docker compose -f docker-compose.m5.yml restart saleor
# Rebuild de um serviço (após atualização)
docker compose -f docker-compose.m5.yml up -d --force-recreate saleor
# Limpar tudo (PERDE DADOS)
./SCRIPTS/stop-m5.sh --volumes
Integrações
Mercado Livre → Saleor (via n8n)
- Workflow n8n:
webhook → ML Order Created → criar pedido no Saleor - Autenticação: OAuth App do Mercado Livre
- Webhook ML: apontar para
https://n8n.seudominio.com.br/webhook/ml-pedido
WhatsApp → n8n → Saleor
- OpenWA conecta via API REST na porta 8080
- n8n recebe webhooks do OpenWA
- Workflow:
msg recebida → verificar produto → enviar catálogo → criar pedido
Stripe (pagamentos)
- Webhook:
https://seudominio.com.br/webhook/stripe - Saleor processa pagamentos via plugin Stripe oficial
Segurança
- Nunca comite
.env— já está em.gitignore - Renove senhas periodicamente (sempre rebuild após mudança de
.env) - Firewall: exponha apenas 80, 443 e 8090 (Traefik dashboard)
- OpenWA: se possível, limite acesso ao IP do servidor para a API local
- Traefik Dashboard: proteja com Basic Auth ou IP whitelist
Troubleshooting
| Problema | Solução |
|---|---|
postgres permission denied |
docker compose down -v (apaga volumes) e start-m5.sh novamente |
| SSL não funciona | Verificar registros DNS e se porta 443 está aberta |
| n8n não conecta no Saleor | SALEOR_API_URL deve ser http://saleor:8000/graphql/ (interno) |
| OpenWA QR Code não aparece | docker logs m5_openwa para ver erros de sessão |
| Traefik sem certificados | docker logs m5_traefik — verificar email ACME |
| Saleor 502 | Aguardar ~2min após start; checar docker logs m5_saleor |
Atualização de Serviços
# Atualizar imagem e rebuildar
docker compose -f docker-compose.m5.yml pull saleor
docker compose -f docker-compose.m5.yml up -d --force-recreate saleor
# Atualizar todos de uma vez
docker compose -f docker-compose.m5.yml pull
docker compose -f docker-compose.m5.yml up -d
Criado para o Motor Ecommerce M5 Brasil — Iris Florencio — 2026