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 a Dockerfile that is provided you as part of the Commercial License Trial.
Prerequisites
An account on https://reacher.email (required for the Commercial License Trial and access to the Dockerfile).
Docker installed on your system (follow the Docker installation guide for your OS).
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.
The provided Dockerfile includes a pre-configured proxy, resolving the common ISP restriction on outgoing requests to port 25 used by Reacher to perform SMTP verifications.
Step-by-Step Tutorial
Navigate to the Commercial License Trial tab of your Reacher Dashboard (go there directly). You'll see a command to run Reacher's latest (v0.10) Docker image:
docker run -e RCH__COMMERCIAL_LICENSE_TRIAL__API_TOKEN=<YOUR_UNIQUE_TOKEN> -p 8080:8080 reacherhq/commercial-license-trial:latest # v0.10
Replace <YOUR_UNIQUE_TOKEN>
with your unique API token shown in the dashboard.
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
Advanced users can also set additional Reacher Configuration.
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 endpoint.
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 Understanding "is_reachable".
If this step hangs for a long time, or returns a JSON result with is_reachable="unknown"
, see Debugging Reacheron how to fix this.
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
Last updated