This repository contains two services packaged as Podman containers:
- LangGraph Service (FastAPI AI agent exposing
/chatendpoint) - Quart App (handles WhatsApp webhooks and forwards messages to LangGraph)
Both services can be built and run locally using Podman. Follow the steps below to get everything up and running.
-
Podman installed on your machine
-
A project root containing:
langgraph-service/directorymeta_app/directory.envfile with your environment variables
Create a .env file in the project root with the following variables:
# Shared variables
APP_SECRET
ACCESS_TOKEN
APP_ID
APP_SECRET
RECIPIENT_WAID
VERSION=v19.0
PHONE_NUMBER_ID
VERIFY_TOKEN
LANGGRAPH_URL=http://langgraph-service:8000Important: Do not surround values with quotes (
") in your.envfile.
project-root/
├── langgraph/
│ ├── __pycache__/
│ ├── graphrag_reduced/
│ ├── secrets/
│ ├── src/
│ ├── yamls/
│ ├── .env
│ ├── config.py
│ ├── Dockerfile
│ ├── main.py
│ ├── models.py
│ ├── README.md
│ └── requirements.txt
├── meta_app/
│ ├── app/
│ │ └── utils/whatsapp_utils.py
│ ├── .env
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── run.py
│ ├── .gitignore
│ ├── README.md
│ └── supabase_setup.txt
└── README.md
cd langgraph
podman build -t langgraph-service .cd meta_-app
podman build -t meta_app .Create a user-defined Podman network to allow containers to communicate by name:
podman network create meta-netpodman run -d \
--name langgraph-service \
--env-file .env \
--network meta-net \
-p 8000:8000 \
langgraph-servicepodman run -d \
--name meta_app \
--env-file .env \
--network meta-net \
-p 8080:8080 \
meta_appNow:
- LangGraph API is at
http://localhost:8000/chat - Quart App (WhatsApp webhook) is at
http://localhost:8080(adjust your webhook route if different)
curl -X POST http://localhost:8000/chat \
-H "Content-Type: application/json" \
-d '{"wa_id":"test","message":"Hola"}'