Files
check-if-email-exists/docs/self-hosting/install.md
T
AmauryandClaude Opus 5.5 681791d3d9 chore: Remove Commercial License and AGPL mentions (#1661)
* chore: Remove Commercial License and AGPL mentions

Reacher is now MIT-licensed, so the Commercial License Trial is gone:
- Remove the trial code that sent results back to Reacher, its config
  and the Makefile target.
- Update docs to use the reacherhq/backend image and describe the MIT
  license; delete the Commercial License Trial page.
- Remove the AGPL headers from source files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013WQ9gr5ys9818ej2wwyxps

* docs: Use v0.11.9 image in multiple proxies example

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013WQ9gr5ys9818ej2wwyxps

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:41:49 +02:00

3.7 KiB
Raw Blame History

Install Reacher in 20min

Reacher is designed for seamless self-hosting, giving you full control over its operation on your infrastructure. This guide demonstrates how to install and run Reacher on your local computer in under 20 minutes, using the official Docker image.

Prerequisites

Tutorial Scope: Install Reacher on your local computer

Reacher’s stateless architecture enables easy horizontal scaling by deploying multiple containers, each running a Reacher instance for parallel email verifications. However, for simplicity, this tutorial focuses on a local installation. A further section focuses on scaling-for-production.

{% hint style="warning" %} Reacher performs SMTP verifications over port 25. Many ISPs and cloud providers block outgoing requests on port 25, in which case you'll need to configure a proxy, see proxies. {% endhint %}

Step-by-Step Tutorial

  1. Run Reacher's latest Docker image:
docker run -p 8080:8080 reacherhq/backend:latest

Expected output:

2024-09-19T12:58:32.918254Z  INFO reacher: Running Reacher version="0.10.0"
Starting ChromeDriver 124.0.6367.78 (a087f2dd364ddd58b9c016ef1bf563d2bc138711-refs/branch-heads/6367@{#954}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
2024-09-19T12:58:32.976589Z  INFO reacher: Server is listening host=0.0.0.0 port=80

If you see errors, either try debugging-reacher.md or send an email to amaury@reacher.email.

Advanced users can also set additional reacher-configuration-v0.10.md.

  1. Verify an email by running the following command in another terminal.
curl -X POST \
	-H'Content-Type: application/json' \
	-d'{"to_email":"amaury@reacher.email"}' \
	http://localhost:8080/v1/check_email

Advanced users can pass additional configuration fields to the v1-check_email.md endpoint.

  1. If successful, you'll see JSON object with an is_reachable field.
{
    "input": "amaury@reacher.email",
    "is_reachable": "safe",
    // --snip--
}

You can read more about all the fields in is-reachable.md.

{% hint style="warning" %} If this step hangs for a long time, or returns a JSON result with is_reachable="unknown", see debugging-reacher.mdon how to fix this. {% endhint %}

If you go back to check the terminal with the Docker command, you should see corresponding logs:

// --snip--
2024-12-15T11:33:36.169891Z  INFO reacher: Starting verification email="amaury@reacher.email"
2024-12-15T11:33:45.015130Z  INFO reacher: Done verification email="amaury@reacher.email" is_reachable=Safe

Congratulations! You just successfully verified an email from your computer. Now it's time to think about scaling-for-production.

Troubleshooting

If you have any issue in one of the steps above, you can try debugging-reacher.mdyourself, or send me an email amaury@reacher.email.