ecom-store/scripts/README-INSTALL.md
Iris Florencio 9c2f7ff7b4 chore: triagem de arquivos untracked (60+ → 0)
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*_*/
2026-07-06 18:50:26 -03:00

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:

  1. Pull das imagens Docker
  2. docker compose up -d
  3. Healthcheck de cada serviço (aguarda até 90s por serviço)
  4. 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
  1. Acesse https://vendas.seudominio.com.br/dashboard
  2. Configure canal de vendas (Mercado Brasil)
  3. Cadastre meio de pagamento (Stripe / Mercado Pago)

n8n — primeiro acesso

  1. Acesse https://n8n.seudominio.com.br
  2. Login com N8N_USER / N8N_PASSWORD do .env
  3. Importe workflows de ./n8n-workflows/ (se existirem)

Gitea — primeiro acesso

  1. Acesse https://git.seudominio.com.br
  2. Complete o wizard de instalação (banco já configurado via env)
  3. Crie usuário admin

OpenWA — primeira sessão

  1. Acesse http://localhost:8081 (dashboard local)
  2. Escaneie QR Code com WhatsApp desejado
  3. 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