mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-02 19:55:18 +02:00
feat(gateway): update WhatsApp bridge configuration and expose port 9929
This commit is contained in:
parent
bba33b5947
commit
9143cb6ad1
7 changed files with 35 additions and 7 deletions
|
|
@ -55,6 +55,9 @@ EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
|
|||
# -- Redis exposed port (dev only; Redis is internal-only in prod) --
|
||||
# REDIS_PORT=6379
|
||||
|
||||
# -- WhatsApp bridge exposed port (dev/hybrid only; prod keeps it Docker-internal) --
|
||||
# WHATSAPP_BRIDGE_PORT=9929
|
||||
|
||||
# -- Frontend Build Args --
|
||||
# In dev, the frontend is built from source and these are passed as build args.
|
||||
# In prod, they are automatically derived from AUTH_TYPE, ETL_SERVICE, and the port settings above.
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ services:
|
|||
- AUTH_TYPE=${AUTH_TYPE:-LOCAL}
|
||||
- NEXT_FRONTEND_URL=${NEXT_FRONTEND_URL:-http://localhost:3000}
|
||||
- SEARXNG_DEFAULT_HOST=${SEARXNG_DEFAULT_HOST:-http://searxng:8080}
|
||||
- WHATSAPP_BRIDGE_URL=${WHATSAPP_BRIDGE_URL:-http://whatsapp-bridge:9929}
|
||||
# Daytona Sandbox – uncomment and set credentials to enable cloud code execution
|
||||
# - DAYTONA_SANDBOX_ENABLED=TRUE
|
||||
# - DAYTONA_API_KEY=${DAYTONA_API_KEY:-}
|
||||
|
|
@ -148,6 +149,25 @@ services:
|
|||
retries: 30
|
||||
start_period: 200s
|
||||
|
||||
whatsapp-bridge:
|
||||
build: ../surfsense_backend/scripts/whatsapp-bridge
|
||||
profiles:
|
||||
- whatsapp
|
||||
ports:
|
||||
- "127.0.0.1:${WHATSAPP_BRIDGE_PORT:-9929}:9929"
|
||||
volumes:
|
||||
- whatsapp_sessions:/data/sessions
|
||||
environment:
|
||||
- PORT=9929
|
||||
- WHATSAPP_MODE=${WHATSAPP_MODE:-self-chat}
|
||||
- WHATSAPP_SESSION_DIR=/data/sessions
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:9929/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
celery_worker:
|
||||
build: *backend-build
|
||||
volumes:
|
||||
|
|
@ -282,3 +302,5 @@ volumes:
|
|||
name: surfsense-dev-zero-cache
|
||||
zero_init:
|
||||
name: surfsense-dev-zero-init
|
||||
whatsapp_sessions:
|
||||
name: surfsense-dev-whatsapp-sessions
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ services:
|
|||
UNSTRUCTURED_HAS_PATCHED_LOOP: "1"
|
||||
NEXT_FRONTEND_URL: ${NEXT_FRONTEND_URL:-http://localhost:${FRONTEND_PORT:-3929}}
|
||||
SEARXNG_DEFAULT_HOST: ${SEARXNG_DEFAULT_HOST:-http://searxng:8080}
|
||||
WHATSAPP_BRIDGE_URL: ${WHATSAPP_BRIDGE_URL:-http://whatsapp-bridge:3000}
|
||||
WHATSAPP_BRIDGE_URL: ${WHATSAPP_BRIDGE_URL:-http://whatsapp-bridge:9929}
|
||||
# Daytona Sandbox – uncomment and set credentials to enable cloud code execution
|
||||
# DAYTONA_SANDBOX_ENABLED: "TRUE"
|
||||
# DAYTONA_API_KEY: ${DAYTONA_API_KEY:-}
|
||||
|
|
@ -148,15 +148,18 @@ services:
|
|||
build: ../surfsense_backend/scripts/whatsapp-bridge
|
||||
profiles:
|
||||
- whatsapp
|
||||
expose:
|
||||
- "9929"
|
||||
volumes:
|
||||
- whatsapp_sessions:/data/sessions
|
||||
environment:
|
||||
PORT: 9929
|
||||
WHATSAPP_MODE: ${WHATSAPP_MODE:-self-chat}
|
||||
WHATSAPP_SESSION_DIR: /data/sessions
|
||||
mem_limit: 512m
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:3000/health"]
|
||||
test: ["CMD", "wget", "-qO-", "http://localhost:9929/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ WHATSAPP_SHARED_WABA_ID=
|
|||
WHATSAPP_GRAPH_API_VERSION=v25.0
|
||||
WHATSAPP_WEBHOOK_VERIFY_TOKEN=
|
||||
WHATSAPP_WEBHOOK_APP_SECRET=
|
||||
WHATSAPP_BRIDGE_URL=http://whatsapp-bridge:3000
|
||||
WHATSAPP_BRIDGE_URL=http://whatsapp-bridge:9929
|
||||
|
||||
# Platform Web Search (SearXNG)
|
||||
# Set this to enable built-in web search. Docker Compose sets it automatically.
|
||||
|
|
|
|||
|
|
@ -562,7 +562,7 @@ class Config:
|
|||
WHATSAPP_GRAPH_API_VERSION = os.getenv("WHATSAPP_GRAPH_API_VERSION", "v25.0")
|
||||
WHATSAPP_WEBHOOK_VERIFY_TOKEN = os.getenv("WHATSAPP_WEBHOOK_VERIFY_TOKEN")
|
||||
WHATSAPP_WEBHOOK_APP_SECRET = os.getenv("WHATSAPP_WEBHOOK_APP_SECRET")
|
||||
WHATSAPP_BRIDGE_URL = os.getenv("WHATSAPP_BRIDGE_URL", "http://whatsapp-bridge:3000")
|
||||
WHATSAPP_BRIDGE_URL = os.getenv("WHATSAPP_BRIDGE_URL", "http://whatsapp-bridge:9929")
|
||||
GATEWAY_WHATSAPP_INTAKE_MODE = os.getenv(
|
||||
"GATEWAY_WHATSAPP_INTAKE_MODE", "disabled"
|
||||
).lower()
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ RUN npm ci --silent
|
|||
COPY . .
|
||||
|
||||
ENV WHATSAPP_SESSION_DIR=/data/sessions
|
||||
EXPOSE 3000
|
||||
EXPOSE 9929
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=5s CMD wget -qO- http://127.0.0.1:3000/health || exit 1
|
||||
HEALTHCHECK --interval=30s --timeout=5s CMD wget -qO- http://127.0.0.1:9929/health || exit 1
|
||||
|
||||
CMD ["node", "bridge.js"]
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import path from "node:path";
|
|||
import pino from "pino";
|
||||
import qrcode from "qrcode-terminal";
|
||||
|
||||
const PORT = Number(process.env.PORT || "3000");
|
||||
const PORT = Number(process.env.PORT || "9929");
|
||||
const SESSION_DIR = process.env.WHATSAPP_SESSION_DIR || "/data/sessions";
|
||||
const SEND_TIMEOUT_MS = Number(process.env.WHATSAPP_SEND_TIMEOUT_MS || "60000");
|
||||
const MAX_QUEUE_SIZE = Number(process.env.WHATSAPP_MAX_QUEUE_SIZE || "100");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue