diff --git a/Erros/Imagem colada (2).png b/Erros/Imagem colada (2).png new file mode 100644 index 0000000..f584995 Binary files /dev/null and b/Erros/Imagem colada (2).png differ diff --git a/README.md b/README.md index cc6b91b..0937c7a 100644 --- a/README.md +++ b/README.md @@ -2362,6 +2362,11 @@ openssl rand -hex 32 # -> WHATSAPP_TOKEN=... # 2. Subir (a 1ª vez baixa o Baileys; leva alguns minutos): docker compose up -d --build +# ⚠️ Se a build da ponte falhar com `npm error syscall spawn git / ENOENT`: +# falta `git` na imagem. O Baileys puxa `libsignal` de um repositório GIT, +# não do registry do npm. Já está no whatsapp/Dockerfile (`apk add git`) — +# se sumir de lá, é isto. NÃO é erro de rede nem de versão do pacote. + # 3. Migrar: docker compose exec app bin/rails db:migrate diff --git a/docker-compose.yml b/docker-compose.yml index 1b20001..3996098 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,8 +40,11 @@ services: command: bash -c "rm -f tmp/pids/server.pid && (bundle check || bundle install) && bundle exec rails db:prepare && { bundle exec whenever --update-crontab && cron || echo '[boot] AVISO cron/crontab indisponivel (rode com --build), seguindo sem agendamento'; } && bundle exec rails s -b 0.0.0.0" # O banco PostgreSQL já existe externamente. # Configure DB_HOST no .env com o IP/hostname do seu servidor PostgreSQL. - depends_on: - - whatsapp + # + # SEM `depends_on: whatsapp` de propósito: o Rails não precisa da ponte para + # subir nem para funcionar — sem ela, a tela mostra "desconectado" e o envio + # de WhatsApp registra falha no log de envios. Declarar a dependência faria + # um problema no container do WhatsApp respingar no sistema inteiro. # Ponte com o WhatsApp (Baileys, sessão pareada por QR). Container separado # porque não existe biblioteca Ruby que fale o protocolo do WhatsApp Web — e diff --git a/whatsapp/Dockerfile b/whatsapp/Dockerfile index 176b127..2e4316f 100644 --- a/whatsapp/Dockerfile +++ b/whatsapp/Dockerfile @@ -5,11 +5,16 @@ FROM node:20-alpine WORKDIR /app -# Baileys usa libs nativas de cripto em algumas plataformas. -RUN apk add --no-cache python3 make g++ +# git: OBRIGATORIO. O Baileys puxa `libsignal` de um REPOSITORIO GIT, nao do +# registry do npm. Sem git na imagem o install morre logo no inicio com +# `npm error syscall spawn git / ENOENT` — nao e erro de rede nem de versao. +# python3/make/g++: node-gyp, para as dependencias nativas de cripto. +RUN apk add --no-cache git python3 make g++ COPY package.json ./ -RUN npm install --omit=dev +# --no-audit --no-fund: so tiram ruido do log de build, que e onde se enxerga o +# erro real quando algo falha aqui. +RUN npm install --omit=dev --no-audit --no-fund COPY server.js ./