> For the complete documentation index, see [llms.txt](https://docs.pritunl.com/kb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pritunl.com/kb/zero/endpoint/install-endpoint.md).

# Install Endpoint

Install and configure endpoint in Pritunl Zero

### Create Endpoint

Open the *Endpoints* tab and click *New*.

![](https://2374617543-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlsTNjQ8Kdr13MwZnI3jV%2Fuploads%2Fgit-blob-e465f07e47874fac9e753411a8fc2c9a5fad48d1%2Fendpoint1.png?alt=media)

Set the *Name* and *Roles* of the endpoint then click *Save*. The roles will be used to matching alerts and health checks. For an alert to be triggered one of the endpoint roles must match one of the alert roles. For the alert to be received by a user one of the users roles must match one of the alert roles.

![](https://2374617543-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlsTNjQ8Kdr13MwZnI3jV%2Fuploads%2Fgit-blob-decdf5da81c091af16032b97ad30a6137930d33b%2Fendpoint2.png?alt=media)

### Install Endpoint

Run the commands below on the Linux endpoint to add the repository and install Pritunl Endpoint. This section contains a limited set of distributions. Refer to the [**Repositories**](https://docs.pritunl.com/kb/vpn/repositories) section for a list of all available distributions.

```shell
sudo tee -a /etc/pacman.conf << EOF
[pritunl]
Server = https://repo.pritunl.com/stable/pacman
EOF

sudo pacman-key --keyserver hkp://keyserver.ubuntu.com -r 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo pacman-key --lsign-key 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo pacman -Sy
sudo pacman -S --noconfirm pritunl-endpoint
```

```shell
sudo tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl
baseurl=https://repo.pritunl.com/stable/yum/amazonlinux/2/
gpgcheck=1
enabled=1
EOF

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
sudo yum -y install pritunl-endpoint
```

```shell
sudo tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/7/
gpgcheck=1
enabled=1
EOF

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
sudo yum -y install pritunl-endpoint
```

```shell
sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt buster main
EOF

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo apt-get update
sudo apt-get --assume-yes install pritunl-endpoint
```

```shell
sudo tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/oraclelinux/7/
gpgcheck=1
enabled=1
EOF

sudo yum -y install yum-utils
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
sudo yum -y install pritunl-endpoint
```

```shell
sudo tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/oraclelinux/8/
gpgcheck=1
enabled=1
EOF

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
sudo yum -y install pritunl-endpoint
```

```shell
sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/stable/apt focal main
EOF

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo apt-get update
sudo apt-get --assume-yes install pritunl-endpoint
```

### Configure Endpoint

Copy the *Registration URI* from the endpoint web console page above and run the commands below with the URI. The domain name in the URI should be the domain that the endpoint will use to access the Pritunl Zero server. To change it refer to the node settings in the [**Getting Started**](/kb/zero/endpoint/endpoint.md) section.

```shell
sudo pritunl-endpoint register pritunl://demo.pritunl.com/bc926c8853aea272dd16c4f4_N0HkgYUBCybqy0ipAJWtX5k2MKOVtySvDORTuUpGDrmxp6y8ASAZmbt9dqRT8ron
sudo systemctl start pritunl-endpoint
sudo systemctl enable pritunl-endpoint
```

Once the endpoint is configured private keys will be generated on the endpoint that will be used to handle authentication and encryption of endpoint traffic. The endpoint URI will no longer be valid, to reconfigure it click *Reset Key*. After a few minutes data should begin to populate the charts.

![](https://2374617543-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlsTNjQ8Kdr13MwZnI3jV%2Fuploads%2Fgit-blob-6df7d7a5bd0fbff432528a67d8371f16fe583950%2Fendpoint_full.png?alt=media)

### Alerts and Health Checks

Refer to the [**Endpoint Alerts**](/kb/zero/endpoint/endpoint-alerts.md) section to configure an alert. Refer to the [**Endpoint Health Check**](/kb/zero/endpoint/endpoint-health-check.md) section to configure HTTP health checks.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pritunl.com/kb/zero/endpoint/install-endpoint.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
