> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://tester.army/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://tester.army/_mcp/server.

# Coolify

Coolify deployments are detected via a webhook you configure in Coolify's notification settings. Connect [GitHub](/integrations/github) and enable PR testing first so TesterArmy can resolve the pull request and report results.

## Setup

1. In TesterArmy, open your project → **Integrations** → **Coolify** and click **Add Webhook**. Copy the generated URL - it contains the secret and won't be shown again.
2. In Coolify: [**Notifications → Webhook**](https://coolify.io/docs/knowledge-base/notifications) - paste the URL and enable deployment events.

TesterArmy matches preview deployments to their pull request automatically.

## Docker Compose workaround

Coolify has a [known issue](https://github.com/coollabsio/coolify/issues/8958) where Docker Compose deployments don't send the preview URL. Other build packs (Nixpacks, Dockerfile, Static) work out of the box.

**Workaround:** set a **Preview URL pattern** when creating the webhook:

```
https://{{pr_number}}.myapp.com
```

TesterArmy substitutes the PR number from the payload to build the URL.

## Troubleshooting

### Missing deployment URL

`Webhook payload does not contain a deployment URL`

* **Docker Compose** - configure a Preview URL pattern (see above).
* **No domain configured** - your app needs a domain set in Coolify.

### No PR comment appears

1. **GitHub App not connected** - verify installation in Project Settings.
2. **Missing PR number** - Coolify only sends `pull_request_id` for preview deployments, not production.
3. **Permissions** - the GitHub App needs **Pull requests: Read & Write**.