selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Evolution Go logo

Self-host Evolution Go

0.7.2

WhatsApp messaging API with Go backend

ReleaseOpen SourceOther
Updated3 weeks ago
LanguageGo
Setup difficultyModerate
Stars
963
Port
8080 (API server)
Docker
evoapicloud/evolution-go
Install with Docker Compose

What is Evolution Go?

Evolution Go is a WhatsApp integration service written in Go that provides programmatic access to WhatsApp through HTTP endpoints. It supports real-time notifications, QR-based authentication, message persistence, and file storage. Operators deploy it as a container or local binary.

Should you self-host Evolution Go?

Evolution Go scores 54/100 on selfhost.directory (how scoring works) and ranks #8 of 14 in Messaging. It has 963 GitHub stars.

It shipped 3 stable releases in the past year. The latest, 0.7.2, came out on 3 July 2026. New versions land roughly every 5 weeks.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Other-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is EMQX (78/100, 16 867 stars). It scores higher overall, so compare the two before you pick. See Evolution Go vs EMQX side by side.

Evolution Go README

How to install Evolution Go

Install Evolution Go with Docker Compose

git clone https://github.com/evolution-foundation/evolution-go.git
cd evolution-go
make docker-build
make docker-run

How to configure Evolution Go

  • AMQP_GLOBAL_ENABLEDfalse
  • AMQP_URLamqp://admin:admin@localhost:5672/defaultAMQP/RabbitMQ connection URL

    AMQP/RabbitMQ connection URL

  • CLIENT_NAMEevolutionClient identifier

    Client identifier

  • CONNECT_ON_STARTUPtrue
  • DATABASE_SAVE_MESSAGESfalseEnable message storage

    Enable message storage

  • EVOLUTION_OPERATOR_EMAILLicense — headless auto-activation by email. Set this to the email you used in your first manual license registration. On startup, the service will silently call /v1/register/auto and skip the browser flow. Falls back to the manual flow if the email isn't registered yet. Leave empty (or unset) to keep the default behavior (manual registration).

    License — headless auto-activation by email. Set this to the email you used in your first manual license registration. On startup, the service will silently call /v1/register/auto and skip the browser flow. Falls back to the manual flow if the email isn't registered yet. Leave empty (or unset) to keep the default behavior (manual registration).

  • GLOBAL_API_KEYAPI authentication key (Required)

    API authentication key (Required)

  • LOGTYPEconsoleLogging type

    Logging type

  • MINIO_ACCESS_KEY
  • MINIO_BUCKETevolution-media
  • MINIO_ENABLEDfalseEnable MinIO for media storage

    Enable MinIO for media storage

  • MINIO_ENDPOINTlocalhost:9000MinIO endpoint

    MinIO endpoint

  • MINIO_SECRET_KEY
  • MINIO_USE_SSLfalse
  • OS_NAMEEvolution GO
  • PASSKEY_PUBLIC_URLPasskey (WebAuthn) pairing — required only for accounts that ask for a passkey when linking a device. Set this to the PUBLIC base URL of THIS API, reachable by the browser where WhatsApp Web opens (the Evolution Passkey Helper extension calls it from the web.whatsapp.com origin). Use a public domain in production, or a tunnel (ngrok/cloudflared) / LAN IP in development — NOT localhost if the brows

    Passkey (WebAuthn) pairing — required only for accounts that ask for a passkey when linking a device. Set this to the PUBLIC base URL of THIS API, reachable by the browser where WhatsApp Web opens (the Evolution Passkey Helper extension calls it from the web.whatsapp.com origin). Use a public domain in production, or a tunnel (ngrok/cloudflared) / LAN IP in development — NOT localhost if the brows

  • POSTGRES_AUTH_DBpostgresql://postgres:root@localhost:5432/evogo_auth?sslmode=disablePostgreSQL database for authentication

    PostgreSQL database for authentication

  • POSTGRES_USERS_DBpostgresql://postgres:root@localhost:5432/evogo_users?sslmode=disablePostgreSQL database for users

    PostgreSQL database for users

  • PROXY_HOST
  • PROXY_PASSWORD
  • PROXY_PORT
  • PROXY_PROTOCOLProxy Configuration PROXY_PROTOCOL can be http, https or socks5. If omitted, it is inferred from the port (1080/2080/42000-43000 → socks5; otherwise http).

    Proxy Configuration PROXY_PROTOCOL can be http, https or socks5. If omitted, it is inferred from the port (1080/2080/42000-43000 → socks5; otherwise http).

  • PROXY_USERNAME
  • SERVER_PORT8080Server port

    Server port

  • WADEBUGDEBUGWhatsApp debug level

    WhatsApp debug level

  • WEBHOOK_FILEStrue
  • WEBHOOK_URLWebhook URL for real-time events

    Webhook URL for real-time events

Evolution Go releases & version history

More in Messaging

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…