> For the complete documentation index, see [llms.txt](https://docs.pullrequest.com/gitlab-on-prem-self-managed/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pullrequest.com/gitlab-on-prem-self-managed/installing-the-pullrequest-proxy.md).

# Installing the PullRequest Proxy

When your organization has been created by a PullRequest team member, you should receive a link via email (or other specified delivery) containing the PullRequest Proxy package tarball.

## Docker

You will need a server/instance that can run Docker (recommended a standard variant of Linux).

If you need to install **Docker** you can follow the instructions for your OS type here: <https://docs.docker.com/install>

You will also need **docker-compose** installed. Instructions can be found here: <https://docs.docker.com/compose/install>

## Tarball Extraction

Download the proxy package tarball to your server from the link provided by PullRequest.

Extract the tarball into a directory (recommended in the user home that you're installing to). This will create the `~/pullrequest_proxy/` directory. (see below)

```
~/pullrequest_proxy/
  ./start.sh
  ./start_with_tls.sh
  ./stop.sh
  ./status.sh
  ./proxy.tar.gz
  ./data/    # this is where all of your persistent data is stored
    ./logs/
      ./proxy.log
      ./audit.log
      ./postgres/
    ./tls/  # directory containing tls certificates if using start-with-tls.sh
      ./cert.pem
      ./key.pem
```

## Starting the Proxy

If you are running as a **non-root** user, `cd` into the `pullrequest_proxy` folder and run the following:

```
mkdir -p ./data/{app,logs,postgres,tls,diffs}
chown -R 2000:2000 ./data
```

Run `./start.sh`. You can either make the script executable or just run it with:

```
bash start.sh
```

If your proxy is not starting when running the `start.sh` script and is printing out `docker-compose` help instructions then you can try editing the `start.sh` script by removing the `-V` argument from the line starting with `docker-compose ...` .

If the logs don't seem to indicate any errors, but the page is still not loading, then you may want to check your network settings for this server to make sure that **`port 5012`** allows incoming connections.

![PullRequest Proxy installation page](https://1378996070-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LelcHIfjrgdiAjf_MQX%2F-Lexi8DsR1cWPMPb0e_E%2F-Lexj1mbAf-ceaslMiod%2Fpullrequest-proxy-installation-page.png?alt=media\&token=d774006c-7746-4d9d-ad7f-bf722cd15648)
