{#
"Setup guide" popup of the WhatsApp page: one tab per way of sending.
vars: channel, settings, webhook_url, verify_token, https, web_webhook_url
#}
{% macro copy(label, value) %}
{% if label %}{{ label }}{% endif %}
{{ value }}
{% endmacro %}
{% macro code(text) %}
{{ text }}
{% endmacro %}
{% macro part(n, title, link=None, link_label='Open') %}
{{ title }}
{% if link %}
{{ icon('external-link', 'h-3.5 w-3.5') }}{{ link_label }}
{% endif %}
{{ caller() }}
{{ title }}
{{ icon('circle-alert', 'h-5 w-5 shrink-0') }}This panel is open on http, not https. Meta will refuse the webhook. Open the panel on its https address, or set app_url in your code.
{{ '{{1}}' }} for the name.WhatsApp Web mode is not an official API. It links your own WhatsApp number, like WhatsApp Web on a laptop. WhatsApp may block numbers that send bulk or unwanted messages, so use it to talk with people who expect your messages.
You need a Linux server with Docker (a VPS with 2 CPU and 4 GB memory is safe). Shared cPanel hosting cannot run it, but this panel can stay there.
{% endcall %} {% call part(1, 'Install the WAHA gateway', 'https://waha.devlike.pro/blog/waha-on-docker/', 'WAHA docs') %}docker-compose.yaml (for example nano docker-compose.yaml) and change the line image: devlikeapro/waha-plus to image: devlikeapro/waha. On an ARM server (for example Oracle Ampere or Hetzner CAX) use image: devlikeapro/waha:arm..env file.http://127.0.0.1:3000.waha.yourbusiness.in at the server, and put Nginx with a free Let's Encrypt certificate in front of port 3000. The Gateway URL is then https://waha.yourbusiness.in.default. Press Save changes.cd waha && grep WAHA_API_KEY .env, paste it here and save.{% endcall %}
{% call problem('"Could not reach" the gateway') %}Check the Gateway URL, and that WAHA runs: cd waha && docker compose ps. docker compose logs -f shows what it does.{% endcall %}
{% call problem('"pull access denied" while installing') %}The image line still says waha-plus. Change it to devlikeapro/waha (step 1).{% endcall %}
{% call problem('"env file not found", or "exec format error"') %}"env file": run touch .env in the waha folder, then the setup line again. "exec format error": the server is ARM; use devlikeapro/waha:arm (step 1).{% endcall %}
{% call problem('The phone must be linked again after every restart') %}The sessions folder is missing. Use WAHA's setup file from step 1; it keeps that folder.{% endcall %}
{% call problem('Incoming messages do not show here') %}WAHA cannot reach this panel. The address in step 2 must open from the WAHA server. Also, messages you send from the linked phone itself are not shown.{% endcall %}
{% endcall %}