> ## Documentation Index
> Fetch the complete documentation index at: https://docs.esperr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Heroku

> Run Esper in a simple app-process proxy when you want a straightforward deployment model and minimal platform ceremony.

<Info>
  **Recipe Path**

  This guide corresponds to
  <a href="https://github.com/stonehedgelabs/esper/tree/main/recipes/heroku" target="_blank" rel="noopener noreferrer">`recipes/heroku`</a>.
</Info>

## What this integration does

The Heroku recipe runs an Express server that checks Esper first and then
proxies the request onward.

Example from the recipe:

```js theme={null}
const mitigationResponse = await axios.post(
  "https://api.esperr.com/api/v1/runtime/mitigation",
  {
    ip: clientIP,
    user_agent: req.headers["user-agent"],
    path: req.path,
    method: req.method,
    heroku_request_id: req.headers["x-request-id"],
  },
  {
    headers: {
      Authorization: `Bearer ${ESPER_API_KEY}`,
      "Content-Type": "application/json",
    },
  },
);
```

## Environment variables

* `ESPER_API_KEY`
* `ESPER_API_URL`

## Deploy

```bash theme={null}
cd recipes/heroku
heroku create your-app-name
heroku config:set ESPER_API_KEY=your-api-key
git push heroku main
```

<Tip>
  **Good First Deployment**

  This is a useful first integration when the team wants a simple hosted process
  and does not need edge-specific behavior yet.
</Tip>
