> For the complete documentation index, see [llms.txt](https://docs.lidistat67.eu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lidistat67.eu/installing-dependencies.md).

# Installing dependencies

## On your computer

### Putty

#### Windows

Install PuTTY on Windows directly from [here](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).

#### Linux

{% hint style="warning" %}
It is not recommended to use PuTTY on Linux.
{% endhint %}

Enable the universe repository using:

```
sudo add-apt-repository universe
```

Install PuTTY by using:

```
sudo apt install -y putty
```

You can open PuTTY by running `putty` on the terminal or you can manually search for the application.

#### Mac

{% hint style="warning" %}
It is not recommended to use PuTTY on MacOS.
{% endhint %}

Install XCode developer tools from the app store [here](https://apps.apple.com/us/app/xcode/id497799835) and run these two commands.

```
xcodebuild -license
```

```
xcode-select --install
```

Install XQuartz from [here](https://www.xquartz.org/).

Install PuTTY by running this command

```
sudo port install putty
```

Run putty by using `putty`

### Termius

#### Windows and Mac

Install Termius directly from [here](https://termius.com/free-ssh-client-for-windows) for Windows or [here](https://termius.com/free-ssh-client-for-mac-os) for Mac.

#### Linux

Install Termius by running the command below otherwise you can install the .deb package from [here](https://termius.com/linux) if you are on a debian-based distro (Ubuntu, Debian, Linux Mint, etc).

```
sudo snap install termius-app
```

{% hint style="info" %}
If you don't have Snap installed, you can find instructions on how to download it [here](https://snapcraft.io/docs/installing-snapd).
{% endhint %}

## On your VPS

{% hint style="danger" %}
If at any time during installing dependencies the "(package name) has no installation candidate/(package name) is not available" error appears, your apt version is outdated as explained below. Run "sudo apt update && sudo apt upgrade" to fix this issue.
{% endhint %}

### Upgrading the system

It is necessary to update the system before proceeding.

Start by updating the repositories:

```
sudo apt update
```

Then upgrade all packages:

```
sudo apt upgrade
```

{% hint style="info" %}
If "Pending kernel upgrade" or "Daemons using outdated libraries" appears, hit Enter.
{% endhint %}

Once apt has finished upgrading, reboot the VPS:

```
sudo reboot
```

Wait \~1 minute for the reboot to finish then reconnect to your VPS.

Sometimes apt doesn't get upgraded. To avoid this, upgrade the system once more.

```
sudo apt update
```

Then:

```
sudo apt upgrade
```

### Pip and pipenv

Install pip by running:

```
sudo apt install python3-pip
```

Install pipenv by running:

```
sudo pip install pipenv
```

### PM2

{% hint style="warning" %}
If you're not planning on using PM2, skip this section. PM2 is required for keeping your bot alive 24/7.
{% endhint %}

Start by installing node.js and npm:

```
sudo apt install nodejs npm
```

{% hint style="info" %}
npm depends on a considerable amount of packages. Expect this to take some time.
{% endhint %}

Install pm2 by running:

```
sudo npm i -g pm2
```

### libcairosvg

Install libcairosvg by running:

```
sudo apt install libpangocairo-1.0-0
```


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lidistat67.eu/installing-dependencies.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
