238 lines
7.8 KiB
YAML
238 lines
7.8 KiB
YAML
#
|
|
# https://waha.devlike.pro/docs/how-to/install/
|
|
# Here's we provide a simple example of how to install WAHA using Docker Compose.
|
|
#
|
|
# We're assuming you have Docker and Docker Compose installed.
|
|
# If you don't have Docker Compose installed, you can follow the official guide:
|
|
# https://docs.docker.com/compose/install/
|
|
#
|
|
|
|
services:
|
|
waha:
|
|
# Always restart the container on failure
|
|
restart: always
|
|
|
|
#
|
|
# Image
|
|
#
|
|
image: devlikeapro/waha-plus:latest # or devlikeapro/waha:latest if you're using WAHA Core
|
|
#
|
|
# We strongly recommend using the pinned version of WAHA
|
|
# https://waha.devlike.pro/docs/how-to/engines/#versions
|
|
# image: devlikeapro/waha-plus:latest-2024.7.6 # 'latest' is not mistaken here
|
|
#
|
|
# Multiple images are available
|
|
# https://waha.devlike.pro/docs/how-to/engines/#docker-images
|
|
# image: devlikeapro/waha-plus:chrome
|
|
#
|
|
|
|
# The first port can be any free port you want
|
|
# The second port must be the same as WHATSAPP_API_PORT or 3000 by default
|
|
# Consider using the same port for simplicity
|
|
ports:
|
|
- '3000:3000/tcp'
|
|
# NOTE: if you're using HTTP, you can use the following port mapping
|
|
#- '80:3000/tcp'
|
|
# NOTE: if you're using HTTPS, you can use the following port mapping
|
|
#- '443:3000/tcp'
|
|
|
|
volumes:
|
|
# Store sessions in the .sessions folder (comment it if you're using MongoDB)
|
|
# Doesn't work with WAHA Core
|
|
- './.sessions:/app/.sessions'
|
|
|
|
# https://waha.devlike.pro/docs/how-to/storages/#save-media-files-between-the-container-restarts
|
|
- './.media:/app/.media'
|
|
|
|
# If you're using certbot for HTTPS, you can use the following volume mapping
|
|
# https://waha.devlike.pro/blog/setting-up-https-for-waha/#lets-encrypt-certbot--waha
|
|
# - '/etc/letsencrypt:/etc/letsencrypt'
|
|
|
|
# WAHA Configuration
|
|
# https://waha.devlike.pro/docs/how-to/config/
|
|
environment:
|
|
#
|
|
# Common
|
|
#
|
|
# If you know the right URL, you can use it here.
|
|
# Use any port in WHATSAPP_API_PORT and domain in WHATSAPP_API_HOSTNAME
|
|
# https://waha.devlike.pro/docs/how-to/config/#common
|
|
#- WHATSAPP_API_PORT=3000
|
|
#- WHATSAPP_API_HOSTNAME=localhost
|
|
|
|
#
|
|
# Security
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/security/
|
|
#
|
|
- WHATSAPP_API_KEY=321
|
|
- WAHA_DASHBOARD_USERNAME=waha
|
|
- WAHA_DASHBOARD_PASSWORD=waha
|
|
#- WHATSAPP_SWAGGER_USERNAME=admin
|
|
#- WHATSAPP_SWAGGER_PASSWORD=admin
|
|
|
|
#
|
|
# Dashboard
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/waha-dashboard/#configuration
|
|
# Enabled by default
|
|
#- WAHA_DASHBOARD_ENABLED=true
|
|
#- WAHA_DASHBOARD_USERNAME=waha
|
|
#- WAHA_DASHBOARD_PASSWORD=waha
|
|
|
|
#
|
|
# Logging
|
|
# https://waha.devlike.pro/docs/how-to/observability/#logging
|
|
#
|
|
- WAHA_LOG_FORMAT=PRETTY
|
|
# Set log format to JSON if you consume logs with log management systems
|
|
#- WAHA_LOG_FORMAT=JSON
|
|
- WAHA_LOG_LEVEL=info
|
|
# If you want to see more logs, you can set the log level to debug
|
|
#- WAHA_LOG_LEVEL=debug
|
|
# DEBUG=1 # shortcut for setting log level to debug
|
|
|
|
#
|
|
# Engine
|
|
#
|
|
# Choose the right engine for your needs (WEBJS by default)
|
|
# https://waha.devlike.pro/docs/how-to/engines/
|
|
- WHATSAPP_DEFAULT_ENGINE=WEBJS
|
|
# Use NOWEB engine for the fastest performance
|
|
#- WHATSAPP_DEFAULT_ENGINE=NOWEB
|
|
|
|
#
|
|
# Sessions
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/config/#sessions
|
|
# Restart all sessions when container starts
|
|
- WHATSAPP_RESTART_ALL_SESSIONS=True
|
|
# Do not print QR codes in logs
|
|
- WAHA_PRINT_QR=False
|
|
#
|
|
# OR you can specify sessions by name, if you have handful amount of sessions
|
|
#- WHATSAPP_START_SESSION=session1,session2
|
|
# Do not use both WHATSAPP_RESTART_ALL_SESSIONS and WHATSAPP_START_SESSION parameters
|
|
#
|
|
|
|
#
|
|
# Swagger
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/swagger/
|
|
#- WHATSAPP_SWAGGER_USERNAME=admin
|
|
#- WHATSAPP_SWAGGER_PASSWORD=admin
|
|
# Disable Swagger
|
|
#- WHATSAPP_SWAGGER_ENABLED=false
|
|
# Enable advanced Swagger configuration
|
|
#- WHATSAPP_SWAGGER_CONFIG_ADVANCED=true
|
|
#
|
|
# Swagger White Label customization
|
|
# https://waha.devlike.pro/docs/how-to/swagger/#white-label
|
|
#- WHATSAPP_SWAGGER_TITLE=WAHA API
|
|
#
|
|
|
|
#
|
|
# Global Proxy Settings
|
|
# https://waha.devlike.pro/docs/how-to/config/#global-proxy-configuration
|
|
# You can also set proxy settings for each session later when starting it
|
|
# https://waha.devlike.pro/docs/how-to/sessions/#configure-proxy
|
|
#- WHATSAPP_PROXY_SERVER=proxy.example.com:3128
|
|
#-WHATSAPP_PROXY_SERVER_USERNAME=user
|
|
#-WHATSAPP_PROXY_SERVER_PASSWORD=pass
|
|
#
|
|
|
|
#
|
|
# HTTPS Configuration
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/config/#https
|
|
# Consider using certbot for HTTPS
|
|
# https://waha.devlike.pro/blog/setting-up-https-for-waha/#lets-encrypt-certbot--waha
|
|
#- WHATSAPP_API_HOSTNAME=waha.example.pro
|
|
#- WAHA_HTTPS_ENABLED=true
|
|
#- WAHA_HTTPS_PATH_KEY=/etc/letsencrypt/live/waha.example.pro/privkey.pem
|
|
#- WAHA_HTTPS_PATH_CERT=/etc/letsencrypt/live/waha.example.pro/cert.pem \
|
|
#- WAHA_HTTPS_PATH_CA=/etc/letsencrypt/live/waha.example.pro/chain.pem
|
|
#
|
|
|
|
#
|
|
# Media Configuration
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/config/#files
|
|
#
|
|
# Disable media (images, videos, files) download for incoming messages
|
|
#- WHATSAPP_DOWNLOAD_MEDIA=false
|
|
#
|
|
# Download only specific media types
|
|
#- WHATSAPP_FILES_MIMETYPES=image/jpeg,image/png
|
|
#
|
|
|
|
# Media - Local Storage
|
|
# https://waha.devlike.pro/docs/how-to/storages/#media---local
|
|
#
|
|
# Set to 0 to keep media files forever
|
|
# https://waha.devlike.pro/docs/how-to/storages/#save-media-files-between-the-container-restarts
|
|
- WAHA_MEDIA_STORAGE=LOCAL
|
|
- WHATSAPP_FILES_LIFETIME=0
|
|
- WHATSAPP_FILES_FOLDER=/app/.media
|
|
# Keep media files for 180 seconds (3 minutes)
|
|
#- WHATSAPP_FILES_LIFETIME=180
|
|
#
|
|
|
|
# Media - S3 Storage
|
|
# https://waha.devlike.pro/docs/how-to/storages/#media---s3
|
|
#- WAHA_MEDIA_STORAGE=S3
|
|
#- WAHA_S3_REGION=eu-west-2
|
|
#- WAHA_S3_BUCKET=waha
|
|
#- WAHA_S3_ACCESS_KEY_ID=minioadmin
|
|
#- WAHA_S3_SECRET_ACCESS_KEY=minioadmin
|
|
#- WAHA_S3_ENDPOINT=http://minio:9000 # Not required if you're using AWS S3
|
|
#- WAHA_S3_FORCE_PATH_STYLE=True # Required for Minio
|
|
|
|
#
|
|
# Global Webhooks
|
|
#
|
|
# https://waha.devlike.pro/docs/how-to/config/#webhooks
|
|
# https://waha.devlike.pro/docs/how-to/webhooks/
|
|
#- WHATSAPP_HOOK_URL=https://webhook.site/11111111-1111-1111-1111-11111111
|
|
#- WHATSAPP_HOOK_EVENTS=session.status,message,message.reaction
|
|
#
|
|
|
|
#
|
|
# MongoDB Configuration
|
|
# https://waha.devlike.pro/docs/how-to/storages/#sessions---mongodb
|
|
#- WHATSAPP_SESSIONS_MONGO_URL=mongodb://mongodb:27017
|
|
#
|
|
|
|
# NOTE: Only if you're using MongoDB
|
|
# https://waha.devlike.pro/docs/how-to/storages/#sessions---mongodb
|
|
mongodb:
|
|
image: mongo
|
|
container_name: mongodb
|
|
ports:
|
|
- '27017:27017/tcp'
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
restart: always
|
|
|
|
# NOTE: Only if you're using S3 to save media files
|
|
# https://waha.devlike.pro/docs/how-to/storages/#media---s3
|
|
minio:
|
|
image: quay.io/minio/minio
|
|
container_name: minio
|
|
restart: always
|
|
ports:
|
|
- '9000:9000'
|
|
- '9001:9001'
|
|
environment:
|
|
MINIO_REGION: 'eu-west-2'
|
|
MINIO_ROOT_USER: 'minioadmin'
|
|
MINIO_ROOT_PASSWORD: 'minioadmin'
|
|
volumes:
|
|
- minio_data:/data
|
|
command: server /data --console-address ":9001"
|
|
|
|
volumes:
|
|
# NOTE: Only if you're using MongoDB
|
|
mongodb_data: {}
|
|
minio_data: {}
|