- 🔍 Search movies and TV shows from WhatsApp
- 📺 Request media directly via chat messages
- 🔔 Receive webhook notifications from Seerr
- 👥 User mapping (WhatsApp phone numbers to Seerr user IDs)
- ⚡ Rate limiting and message queuing
- 🎯 Support for 4K requests (optional)
- WAHA (WhatsApp HTTP API) running and configured
- Seerr instance
- Docker installed
docker pull ghcr.io/sufxgit/whatseerr:latest| Variable | Description | Required | Default |
|---|---|---|---|
TZ |
Timezone (e.g., Asia/Kuwait, America/New_York) |
No | UTC |
services:
whatseerr:
image: ghcr.io/sufxgit/whatseerr:latest
container_name: whatseerr-bot
restart: unless-stopped
ports:
- "3006:3006"
volumes:
- /path/to/config:/config
environment:
- TZ=Asia/KuwaitConfiguration Notes:
- On first run, a
config.example.jsonwill be created in your config directory - Rename it to
config.jsonand update with your settings:host: The hostname/IP where Seerr, WAHA, and the bot can reach each otherjellyseerr.apiKey: Get from Seerr → Settings → Generalwaha.apiKey: Your WAHA API keyuserIdMappings: Map WhatsApp phone numbers (without @c.us) to Seerr user IDs"1234567890": { "userId": 1, "username": "", "admin": true }
"1234567890": WhatsApp phone number including country code (without @c.us suffix)userId: The user ID from your Seerr instance - each user has their own unique ID (found in Seerr → Users)username: Optional custom display name (leave empty to use Seerr username)admin: Add"admin": trueif the user is an admin (omit or set to false otherwise)
Unraid:
- Repository:
ghcr.io/sufxgit/whatseerr:latest - Port:
3006:3006(TCP) - Volume:
/mnt/user/appdata/whatseerr/config→/config(Read/Write) - Variable:
TZ=Your/Timezone
Point your WAHA session webhook to:
http://YOUR_HOST_IP:3006/requests
Enable these events:
session.statusmessagemessage.reactions
For receiving notifications (approved/available/declined), add webhook in Seerr:
Webhook URL:
http://YOUR_HOST_IP:3006/seerr
Types: Select notification types you want to receive
Send a WhatsApp message to your WAHA-connected number:
r The Matrix
The bot will:
- Search Seerr for "The Matrix"
- Return numbered results
- Wait for you to reply with a number (e.g., "1")
- Submit the request to Seerr
Available Commands:
r <title>orrequest <title>- Search and request mediar4k <title>orrequest4k <title>- Request in 4K quality (if enabled)
protocol:httporhttpshost: Shared hostname/IP for all serviceslogging.level:infoordebug
jellyseerr.port: Seerr port (default: 5055)jellyseerr.apiKey: Your Seerr API keyjellyseerr.defaultUserId: Default user ID for requestswaha.port: WAHA port (default: 8584)waha.apiKey: WAHA API keywaha.session: WAHA session name (default: "default")
webhook.requests.path: Path for WAHA webhook (default:/requests)webhook.requests.port: Webhook server port (default: 3006)webhook.seerr.path: Path for Seerr webhook (default:/seerr)
userIdMappings: Map phone numbers to Seerr user IDsemailMappings: Auto-populated from webhook notificationslidMappings: Auto-populated for WhatsApp LID format support
command: Comma-separated list of request command aliasescommand4k: Comma-separated list of 4K request command aliaseshelp4k: Show 4K commands in help message (default: false)
docker logs -f whatseerr-botgit clone https://github.com/sufxgit/whatseerr.git
cd whatseerr
docker build -t whatseerr .For local development without Docker:
-
Clone the repository
git clone https://github.com/sufxgit/whatseerr.git cd whatseerr -
Install dependencies
npm install
-
Create config
cp config/config.example.json config/config.json nano config/config.json
-
Run the bot
npm run bot
MIT
