docs/self-hosting/install.md
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.md.
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.
<details> <summary>Understand the features and limitations of the Commercial License Trial.</summary>The Dockerfile provided as part of the Commercial License Trial is designed to enable quick setup for email verifications. Below are its key features and limitations:
You can also read more in commercial-license-trial.md.
</details>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
If you see an error message, such as Error: missing field `api_token`, double-check the -e RCH__COMMERCIAL_LICENSE_TRIAL__API_TOKEN flag you passed. If you see other errors, either try debugging-reacher.md or send an email to [email protected].
Advanced users can also set additional reacher-configuration-v0.10.md.
Advanced users can pass additional configuration fields to the v1-check_email.md endpoint.
is_reachable field.{
"input": "[email protected]",
"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="[email protected]"
2024-12-15T11:33:45.015130Z INFO reacher: Done verification email="[email protected]" is_reachable=Safe
Congratulations! You just successfully verified an email from your computer. Now it's time to think about scaling-for-production.
If you have any issue in one of the steps above, you can try debugging-reacher.mdyourself, or send me an email [email protected].