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

# VPN

> Route downloads through a VPN so your host IP is never exposed.

Torrin runs its download engine (qBittorrent + `ingest`) inside
[gluetun](https://github.com/qdm12/gluetun), so all torrent and download traffic
egresses through your VPN — your server's real IP is never exposed.

This is enabled by the `docker-compose.vpn.yml` overlay:

```bash theme={null}
docker compose -f docker-compose.yml -f docker-compose.vpn.yml up -d
```

## WireGuard config

Fill these in `deploy/.env` (values come from your VPN provider's WireGuard
config):

| Variable | Description |
| - | - |
| `VPN_PROVIDER` | gluetun provider name (e.g. `airvpn`, `mullvad`, `custom`). |
| `VPN_TYPE` | `wireguard` (recommended) or `openvpn`. |
| `VPN_PRIVATE_KEY` | Your WireGuard private key. |
| `VPN_PRESHARED_KEY` | Preshared key, if your provider uses one. |
| `VPN_ADDRESSES` | The address block from your WireGuard config, e.g. `10.x.x.x/32`. |
| `VPN_COUNTRIES` | Preferred exit country/countries (default `Germany`). |

<Note>
  gluetun supports many providers — see its
  [wiki](https://github.com/qdm12/gluetun-wiki) for the exact `VPN_PROVIDER`
  value and any provider-specific settings.
</Note>

## Running without a VPN

Leave off the overlay to run without one:

```bash theme={null}
docker compose up -d
```

<Warning>
  Without the VPN overlay, downloads use your host's IP directly. Only do this if
  you understand the exposure — a VPN is strongly recommended.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.