ecom-store/scripts/openwa-compose.yml
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

68 lines
2.0 KiB
YAML

# OpenWA v0.5.0 - Production compose adapted for m5 stack
# Base: docker-compose.dev.yml (rmyndharis/OpenWA)
services:
openwa:
image: ghcr.io/rmyndharis/openwa:latest
container_name: m5_openwa
restart: unless-stopped
security_opt:
- 'no-new-privileges:true'
cap_add:
- SYS_ADMIN
- CHOWN
- DAC_OVERRIDE
- FOWNER
- SETGID
- SETUID
shm_size: '512mb'
environment:
- NODE_ENV=production
- PORT=2785
- HOME=/tmp
- XDG_CONFIG_HOME=/tmp/.config
- XDG_CACHE_HOME=/tmp/.cache
- DATABASE_TYPE=sqlite
- DATABASE_NAME=/app/data/openwa.sqlite
- DATABASE_SYNCHRONIZE=false
- DATABASE_LOGGING=false
- ENGINE_TYPE=whatsapp-web.js
- SESSION_DATA_PATH=/app/data/sessions
- PUPPETEER_HEADLESS=true
- PUPPETEER_ARGS=--no-sandbox,--disable-setuid-sandbox,--disable-dev-shm-usage,--disable-gpu,--disable-software-rasterizer
- PUPPETEER_PROTOCOL_TIMEOUT=120000
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
- STORAGE_TYPE=local
- STORAGE_LOCAL_PATH=/app/data/media
- WEBHOOK_TIMEOUT=10000
- WEBHOOK_MAX_RETRIES=3
- WEBHOOK_RETRY_DELAY=5000
- QUEUE_ENABLED=false
- AUTO_START_SESSIONS=false
- LOG_LEVEL=info
volumes:
- m5_openwa_data:/app/data
networks:
- scripts_m5_network
healthcheck:
test: ['CMD', 'node', '-e', "require('http').get('http://localhost:2785/api/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"]
interval: 30s
timeout: 10s
retries: 5
start_period: 45s
labels:
- "traefik.enable=true"
- "traefik.http.routers.openwa.rule=Host(`wa.m5digital.net.br`)"
- "traefik.http.routers.openwa.entrypoints=websecure"
- "traefik.http.routers.openwa.tls=true"
- "traefik.http.routers.openwa.service=openwa"
- "traefik.http.services.openwa.loadbalancer.server.port=2785"
volumes:
m5_openwa_data:
name: m5_openwa_data
networks:
scripts_m5_network:
external: true