# Install Reacher in 20 min

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.

### Prerequisites

* \
  An account on <https://app.no2bounce.com/> (required for access to the Dockerfile).
* Docker installed on your system (follow the [Docker installation guide](https://docs.docker.com/get-docker/) 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](https://reacherdocs.no2bounce.com/self-hosting/scaling-for-production).

The provided Dockerfile does not include any proxies, meaning common ISP restrictions on outgoing requests to port 25 used by Reacher to perform SMTP verifications may be an issue. To get around this, please refer to our [proxies page](https://reacherdocs.no2bounce.com/self-hosting/integrations).

### Step-by-Step Tutorial

\
1\. Navigate to the **Commercial License Trial** tab of your Reacher Dashboard ([go there directly](https://app.no2bounce.com/)). You'll see a command to run Reacher's latest (v0.10) [Docker image](https://hub.docker.com/r/reacherhq/backend):

```javascript
docker run -p 8080:8080 reacherhq/backend:latest
```

#### Expected output:

```javascript
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
```

&#x20;If you see other errors, either try [Debugging Reacher](https://docs.reacher.email/self-hosting/debugging-reacher) or send an email to [support@no2bounce.com](mailto:undefined).

Advanced users can also set additional [Reacher Configuration](https://docs.reacher.email/self-hosting/reacher-configuration-v0.10).

4. Verify an email by running the following command in another terminal.

```javascript
curl -X POST \
	-H'Content-Type: application/json' \
	-d'{"to_email":"support@no2bounce.com"}' \
	http://localhost:8080/v1/check_email
```

Advanced users can pass additional configuration fields to the [/v1/check\_email](https://docs.reacher.email/advanced/openapi/v1-check_email) endpoint.

\
4 . If successful, you'll see JSON object with an `is_reachable` field.

```javascript
{
    "input": "support@no2bounce.com",
    "is_reachable": "safe",
    // --snip--
}
```

You can read more about all the fields in [Understanding "is\_reachable"](https://reacherdocs.no2bounce.com/getting-started/publish-your-docs).

{% hint style="warning" %}
If this step hangs for a long time, or returns a JSON result with `is_reachable="unknown"`, see [Debugging Reacher](https://docs.reacher.email/self-hosting/debugging-reacher)on 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="support@no2bounce.com"
2024-12-15T11:33:45.015130Z  INFO reacher: Done verification email="support@no2bounce.com" is_reachable=Safe
```

Congratulations! You just successfully verified an email from your computer. Now it's time to think about [Scaling for Production](https://reacherdocs.no2bounce.com/self-hosting/scaling-for-production).

#### Troubleshooting

If you have any issue in one of the steps above, you can try [Debugging Reacher](https://docs.reacher.email/self-hosting/debugging-reacher) yourself, or send me an email [support@no2bounce.com.](mailto:undefined).
