{
    "slug":  "evolution-api",
    "name":  "Evolution API",
    "description":  "Self-hosted WhatsApp integration API with Baileys support, PostgreSQL persistence, and Redis caching.",
    "category":  "Communications",
    "image":  "evoapicloud/evolution-api:latest",
    "logo":  "https://icon.horse/icon/evolutionfoundation.com.br",
    "website":  "https://evolutionfoundation.com.br",
    "docsUrl":  "https://docs.evolutionfoundation.com.br",
    "ports":  [
                  {
                      "host":  8084,
                      "container":  8080,
                      "protocol":  "tcp"
                  }
              ],
    "volumes":  [
                    {
                        "host":  "/opt/appdata/evolution-api/instances",
                        "container":  "/evolution/instances"
                    }
                ],
    "envVars":  [
                    {
                        "key":  "EVOLUTION_SERVER_URL",
                        "default":  "http://localhost:8084",
                        "description":  "Public URL for the Evolution API server"
                    },
                    {
                        "key":  "EVOLUTION_DB_VOLUME",
                        "default":  "/opt/appdata/evolution-api/postgres:/var/lib/postgresql/data",
                        "description":  "PostgreSQL bind mount in host:container format"
                    },
                    {
                        "key":  "EVOLUTION_REDIS_VOLUME",
                        "default":  "/opt/appdata/evolution-api/redis:/data",
                        "description":  "Redis bind mount in host:container format"
                    },
                    {
                        "key":  "EVOLUTION_DATABASE_CONNECTION_URI",
                        "default":  "postgresql://evolution:change-me@evolution-api-postgres:5432/evolution",
                        "description":  "PostgreSQL connection URI used by Evolution API",
                        "secret":  true
                    },
                    {
                        "key":  "EVOLUTION_REDIS_URI",
                        "default":  "redis://evolution-api-redis:6379",
                        "description":  "Redis URI used by Evolution API"
                    },
                    {
                        "key":  "EVOLUTION_API_KEY",
                        "default":  "change-me",
                        "description":  "Global Evolution API key",
                        "secret":  true
                    },
                    {
                        "key":  "EVOLUTION_DB_NAME",
                        "default":  "evolution",
                        "description":  "PostgreSQL database name"
                    },
                    {
                        "key":  "EVOLUTION_DB_USER",
                        "default":  "evolution",
                        "description":  "PostgreSQL user"
                    },
                    {
                        "key":  "EVOLUTION_DB_PASSWORD",
                        "default":  "change-me",
                        "description":  "PostgreSQL password",
                        "secret":  true
                    }
                ],
    "composeOverride":  "# Generated by McHarbor App Store\nservices:\n  {{serviceName}}:\n    image: {{image}}\n    container_name: {{containerName}}\n    restart: unless-stopped\n    depends_on:\n      - {{serviceName}}-postgres\n      - {{serviceName}}-redis\n{{ports}}\n{{volumes}}\n    environment:\n      SERVER_NAME: evolution\n      SERVER_TYPE: http\n      SERVER_PORT: \"8080\"\n      SERVER_URL: {{env.EVOLUTION_SERVER_URL}}\n      SERVER_DISABLE_MANAGER: \"false\"\n      DATABASE_PROVIDER: postgresql\n      DATABASE_CONNECTION_URI: {{env.EVOLUTION_DATABASE_CONNECTION_URI}}\n      DATABASE_CONNECTION_CLIENT_NAME: evolution\n      CACHE_REDIS_ENABLED: \"true\"\n      CACHE_REDIS_URI: {{env.EVOLUTION_REDIS_URI}}\n      CACHE_REDIS_PREFIX_KEY: evolution-cache\n      CACHE_REDIS_SAVE_INSTANCES: \"true\"\n      CACHE_LOCAL_ENABLED: \"true\"\n      AUTHENTICATION_API_KEY: {{env.EVOLUTION_API_KEY}}\n      AUTHENTICATION_EXPOSE_IN_FETCH_INSTANCES: \"false\"\n      CONFIG_SESSION_PHONE_CLIENT: McHarbor\n      CONFIG_SESSION_PHONE_NAME: Chrome\n      LOG_LEVEL: ERROR,WARN,INFO\n      LOG_BAILEYS: error\n      TELEMETRY_ENABLED: \"false\"\n  {{serviceName}}-postgres:\n    image: postgres:16-alpine\n    container_name: {{containerName}}-postgres\n    restart: unless-stopped\n    command:\n      - postgres\n      - -c\n      - max_connections=1000\n      - -c\n      - listen_addresses=*\n    volumes:\n      - {{env.EVOLUTION_DB_VOLUME}}\n    environment:\n      POSTGRES_DB: {{env.EVOLUTION_DB_NAME}}\n      POSTGRES_USER: {{env.EVOLUTION_DB_USER}}\n      POSTGRES_PASSWORD: {{env.EVOLUTION_DB_PASSWORD}}\n  {{serviceName}}-redis:\n    image: redis:7-alpine\n    container_name: {{containerName}}-redis\n    restart: unless-stopped\n    command: redis-server --appendonly yes\n    volumes:\n      - {{env.EVOLUTION_REDIS_VOLUME}}\n",
    "minMemory":  "1GB",
    "version":  "latest"
}
