manigo92/openwa

By manigo92

Updated 27 days ago

Self-hosted WhatsApp API Gateway with REST API, webhooks, and dashboard. Based on Open-WA project.

Image
Message queues
API management
Web servers
0

143

manigo92/openwa repository overview

OpenWA Docker Image

Self-hosted WhatsApp API Gateway with REST API, real-time webhooks, and web dashboard.

Credits

This Docker image is based on the original Open-WA project by Yudhi Armyndharis and contributors.

All credit for the OpenWA software goes to the original authors. This Docker image is a community contribution to simplify deployment.

Quick Start

# Download the deployment files
wget https://raw.githubusercontent.com/rmyndharis/OpenWA/main/deploy/docker-compose.yml
wget https://raw.githubusercontent.com/rmyndharis/OpenWA/main/deploy/.env.example

# Configure environment
cp .env.example .env
nano .env  # Edit with your settings

# Start the stack
docker compose up -d
Using Docker Run
docker run -d \
  --name openwa \
  -p 2785:2785 \
  -v openwa-data:/app/data \
  --env-file .env \
  manigo92/openwa:0.4.1

Features

  • REST API - Complete WhatsApp messaging API
  • Multi-Session - Manage multiple WhatsApp sessions
  • Webhooks - Real-time message and event notifications
  • Web Dashboard - Visual interface for session management
  • API Key Authentication - Secure API access
  • Swagger Documentation - Interactive API docs at /api/docs
  • PostgreSQL Support - Production-ready database
  • Redis Integration - Caching and job queues
  • Docker Ready - Optimized for containerized deployments

Environment Variables

VariableDescriptionDefault
PORTAPI port2785
BASE_URLPublic API URL-
API_MASTER_KEYAPI authentication key-
DATABASE_TYPEDatabase typepostgres
DATABASE_HOSTDatabase hostpostgres
DATABASE_PORTDatabase port5432
DATABASE_USERNAMEDatabase useropenwa
DATABASE_PASSWORDDatabase password-
DATABASE_NAMEDatabase nameopenwa
REDIS_ENABLEDEnable Redistrue
REDIS_HOSTRedis hostredis
REDIS_PORTRedis port6379
ENGINE_TYPEWhatsApp enginewhatsapp-web.js

See .env.example for all available options.

Architecture

┌─────────────────────────────────────────┐
│           OpenWA Container              │
│                                         │
│  ┌─────────────┐    ┌───────────────┐   │
│  │  Dashboard  │    │   REST API    │   │
│  │    :2886    │    │    :2785      │   │
│  └─────────────┘    └───────────────┘   │
│                                         │
│  ┌─────────────────────────────────┐    │
│  │     WhatsApp Engine             │    │
│  │  (whatsapp-web.js or baileys)   │    │
│  └─────────────────────────────────┘    │
└─────────────────────────────────────────┘

Ports

PortServiceDescription
2785API + DashboardMain application port

Volumes

VolumePathDescription
openwa-data/app/dataSession data, media, and configuration

Usage Examples

Send a Text Message
curl -X POST http://localhost:2785/api/sessions/my-bot/messages/send-text \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "chatId": "[email protected]",
    "text": "Hello from OpenWA!"
  }'
Create a Session
curl -X POST http://localhost:2785/api/sessions/start \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "sessionId": "my-bot",
    "accountSid": "my-account"
  }'
Get QR Code
curl http://localhost:2785/api/sessions/my-bot/qr \
  -H "X-API-Key: YOUR_API_KEY"

Documentation

Tags

TagDescription
latestLatest stable release
0.4.1Specific version

Source Code

License

This Docker image follows the license of the original project: MIT License

© OpenWA Project by Yudhi Armyndharis and contributors

Support


  • Original Project: https://www.open-wa.org/
  • GitHub: https://github.com/rmyndharis/OpenWA

Tag summary

Content type

Image

Digest

sha256:28ffa3b72

Size

523.3 MB

Last updated

27 days ago

docker pull manigo92/openwa