Evolution GO
Evolution Go is a high-performance implementation of the WhatsApp API, written in Go. Built with Go’s standard library and modern development practices, it provides a robust and efficient solution for WhatsApp integration using the whatsmeow library.
Configuration
services:
evolution-go:
image: evoapicloud/evolution-go:latest
restart: always
environment:
- SERVER_PORT=${SERVER_PORT}
- CLIENT_NAME=${CLIENT_NAME}
- GLOBAL_API_KEY=${AUTHENTICATION_API_KEY}
- POSTGRES_AUTH_DB=${DATABASE_CONNECTION_URI}/evogo_auth?sslmode=disable
- POSTGRES_USERS_DB=${DATABASE_CONNECTION_URI}/evogo_users?sslmode=disable
- DATABASE_SAVE_MESSAGES=${DATABASE_SAVE_MESSAGES}
- WADEBUG=${WADEBUG}
- LOGTYPE=${LOGTYPE}
volumes:
- evolution-go-data:/app/dbdata
- evolution-go-logs:/app/logs
depends_on:
- evolution-postgres
evolution-gateway:
image: nginx:alpine
restart: always
volumes:
- ../files/gateway.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- evolution-go
evolution-postgres:
image: postgres:16-alpine
restart: always
environment:
- POSTGRES_DB=${POSTGRES_DATABASE}
- POSTGRES_USER=${POSTGRES_USERNAME}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- evolution-postgres-data:/var/lib/postgresql/data
volumes:
evolution-postgres-data:
evolution-go-data:
evolution-go-logs:[variables]
main_domain = "${domain}"
api_key = "${base64:64}"
postgres_password = "${password}"
[config]
env = [
"SERVER_URL=https://${main_domain}",
"SERVER_PORT=8080",
"AUTHENTICATION_API_KEY=${api_key}",
"CLIENT_NAME=Evolution",
"DATABASE_SAVE_MESSAGES=false",
"WADEBUG=INFO",
"LOGTYPE=console",
"POSTGRES_DATABASE=evolution",
"POSTGRES_USERNAME=postgresql",
"POSTGRES_PASSWORD=${postgres_password}",
"DATABASE_CONNECTION_URI=postgres://postgresql:${postgres_password}@evolution-postgres:5432",
]
[[config.mounts]]
filePath = "gateway.conf"
content = """
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name _;
absolute_redirect off;
client_max_body_size 100m;
# Evolution GO has no route on "/" (and the API answers 503 until the
# license is activated), so send visitors to the bundled manager UI.
location = / {
return 302 /manager/login;
}
location / {
proxy_pass http://evolution-go:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}
"""
[[config.domains]]
serviceName = "evolution-gateway"
port = 80
host = "${main_domain}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBldm9sdXRpb24tZ286XG4gICAgaW1hZ2U6IGV2b2FwaWNsb3VkL2V2b2x1dGlvbi1nbzpsYXRlc3RcbiAgICByZXN0YXJ0OiBhbHdheXNcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gU0VSVkVSX1BPUlQ9JHtTRVJWRVJfUE9SVH1cbiAgICAgIC0gQ0xJRU5UX05BTUU9JHtDTElFTlRfTkFNRX1cbiAgICAgIC0gR0xPQkFMX0FQSV9LRVk9JHtBVVRIRU5USUNBVElPTl9BUElfS0VZfVxuICAgICAgLSBQT1NUR1JFU19BVVRIX0RCPSR7REFUQUJBU0VfQ09OTkVDVElPTl9VUkl9L2V2b2dvX2F1dGg/c3NsbW9kZT1kaXNhYmxlXG4gICAgICAtIFBPU1RHUkVTX1VTRVJTX0RCPSR7REFUQUJBU0VfQ09OTkVDVElPTl9VUkl9L2V2b2dvX3VzZXJzP3NzbG1vZGU9ZGlzYWJsZVxuICAgICAgLSBEQVRBQkFTRV9TQVZFX01FU1NBR0VTPSR7REFUQUJBU0VfU0FWRV9NRVNTQUdFU31cbiAgICAgIC0gV0FERUJVRz0ke1dBREVCVUd9XG4gICAgICAtIExPR1RZUEU9JHtMT0dUWVBFfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGV2b2x1dGlvbi1nby1kYXRhOi9hcHAvZGJkYXRhXG4gICAgICAtIGV2b2x1dGlvbi1nby1sb2dzOi9hcHAvbG9nc1xuICAgIGRlcGVuZHNfb246XG4gICAgICAtIGV2b2x1dGlvbi1wb3N0Z3Jlc1xuXG4gIGV2b2x1dGlvbi1nYXRld2F5OlxuICAgIGltYWdlOiBuZ2lueDphbHBpbmVcbiAgICByZXN0YXJ0OiBhbHdheXNcbiAgICB2b2x1bWVzOlxuICAgICAgLSAuLi9maWxlcy9nYXRld2F5LmNvbmY6L2V0Yy9uZ2lueC9jb25mLmQvZGVmYXVsdC5jb25mOnJvXG4gICAgZGVwZW5kc19vbjpcbiAgICAgIC0gZXZvbHV0aW9uLWdvXG5cbiAgZXZvbHV0aW9uLXBvc3RncmVzOlxuICAgIGltYWdlOiBwb3N0Z3JlczoxNi1hbHBpbmVcbiAgICByZXN0YXJ0OiBhbHdheXNcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gUE9TVEdSRVNfREI9JHtQT1NUR1JFU19EQVRBQkFTRX1cbiAgICAgIC0gUE9TVEdSRVNfVVNFUj0ke1BPU1RHUkVTX1VTRVJOQU1FfVxuICAgICAgLSBQT1NUR1JFU19QQVNTV09SRD0ke1BPU1RHUkVTX1BBU1NXT1JEfVxuICAgIHZvbHVtZXM6XG4gICAgICAtIGV2b2x1dGlvbi1wb3N0Z3Jlcy1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YVxuXG52b2x1bWVzOlxuICBldm9sdXRpb24tcG9zdGdyZXMtZGF0YTpcbiAgZXZvbHV0aW9uLWdvLWRhdGE6XG4gIGV2b2x1dGlvbi1nby1sb2dzOlxuIiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbmFwaV9rZXkgPSBcIiR7YmFzZTY0OjY0fVwiXG5wb3N0Z3Jlc19wYXNzd29yZCA9IFwiJHtwYXNzd29yZH1cIlxuXG5bY29uZmlnXVxuZW52ID0gW1xuICBcIlNFUlZFUl9VUkw9aHR0cHM6Ly8ke21haW5fZG9tYWlufVwiLFxuICBcIlNFUlZFUl9QT1JUPTgwODBcIixcbiAgXCJBVVRIRU5USUNBVElPTl9BUElfS0VZPSR7YXBpX2tleX1cIixcbiAgXCJDTElFTlRfTkFNRT1Fdm9sdXRpb25cIixcbiAgXCJEQVRBQkFTRV9TQVZFX01FU1NBR0VTPWZhbHNlXCIsXG4gIFwiV0FERUJVRz1JTkZPXCIsXG4gIFwiTE9HVFlQRT1jb25zb2xlXCIsXG4gIFwiUE9TVEdSRVNfREFUQUJBU0U9ZXZvbHV0aW9uXCIsXG4gIFwiUE9TVEdSRVNfVVNFUk5BTUU9cG9zdGdyZXNxbFwiLFxuICBcIlBPU1RHUkVTX1BBU1NXT1JEPSR7cG9zdGdyZXNfcGFzc3dvcmR9XCIsXG4gIFwiREFUQUJBU0VfQ09OTkVDVElPTl9VUkk9cG9zdGdyZXM6Ly9wb3N0Z3Jlc3FsOiR7cG9zdGdyZXNfcGFzc3dvcmR9QGV2b2x1dGlvbi1wb3N0Z3Jlczo1NDMyXCIsXG5dXG5cbltbY29uZmlnLm1vdW50c11dXG5maWxlUGF0aCA9IFwiZ2F0ZXdheS5jb25mXCJcbmNvbnRlbnQgPSBcIlwiXCJcbm1hcCAkaHR0cF91cGdyYWRlICRjb25uZWN0aW9uX3VwZ3JhZGUge1xuICAgIGRlZmF1bHQgdXBncmFkZTtcbiAgICAnJyAgICAgIGNsb3NlO1xufVxuXG5zZXJ2ZXIge1xuICAgIGxpc3RlbiA4MDtcbiAgICBzZXJ2ZXJfbmFtZSBfO1xuICAgIGFic29sdXRlX3JlZGlyZWN0IG9mZjtcbiAgICBjbGllbnRfbWF4X2JvZHlfc2l6ZSAxMDBtO1xuXG4gICAgIyBFdm9sdXRpb24gR08gaGFzIG5vIHJvdXRlIG9uIFwiL1wiIChhbmQgdGhlIEFQSSBhbnN3ZXJzIDUwMyB1bnRpbCB0aGVcbiAgICAjIGxpY2Vuc2UgaXMgYWN0aXZhdGVkKSwgc28gc2VuZCB2aXNpdG9ycyB0byB0aGUgYnVuZGxlZCBtYW5hZ2VyIFVJLlxuICAgIGxvY2F0aW9uID0gLyB7XG4gICAgICAgIHJldHVybiAzMDIgL21hbmFnZXIvbG9naW47XG4gICAgfVxuXG4gICAgbG9jYXRpb24gLyB7XG4gICAgICAgIHByb3h5X3Bhc3MgaHR0cDovL2V2b2x1dGlvbi1nbzo4MDgwO1xuICAgICAgICBwcm94eV9odHRwX3ZlcnNpb24gMS4xO1xuICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEhvc3QgJGhvc3Q7XG4gICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjtcbiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7XG4gICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtUHJvdG8gJHNjaGVtZTtcbiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBVcGdyYWRlICRodHRwX3VwZ3JhZGU7XG4gICAgICAgIHByb3h5X3NldF9oZWFkZXIgQ29ubmVjdGlvbiAkY29ubmVjdGlvbl91cGdyYWRlO1xuICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgMzYwMHM7XG4gICAgICAgIHByb3h5X3NlbmRfdGltZW91dCAzNjAwcztcbiAgICB9XG59XG5cIlwiXCJcblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwiZXZvbHV0aW9uLWdhdGV3YXlcIlxucG9ydCA9IDgwXG5ob3N0ID0gXCIke21haW5fZG9tYWlufVwiXG4iCn0=Links
Tags
api, whatsapp, messaging
Version: latest
Evolution CRM
Evo CRM Community is the open-source edition of the Evo CRM platform — a complete suite for AI-assisted customer support. It brings together authentication, CRM, AI agents, agent processing, bot pipelines and a modern frontend into a unified, self-hostable stack.
Excalidraw
Excalidraw is a free and open source online diagramming tool that lets you easily create and share beautiful diagrams.