# Vultr

{% hint style="danger" %}
This guide applies to **MikoPBX version 2024.2.138** and later!
{% endhint %}

{% embed url="<https://youtu.be/SuNk8t9VLs8>" %}

This guide provides a step-by-step process for installing MikoPBX on the Vultr cloud platform.

Before starting, you must download the latest **.iso** MikoPBX image file from [MikoPBX’s GitHub releases](https://github.com/mikopbx/core/releases).

## Uploading the Image to Vultr

### Uploading the File to Storage

First, you need to upload the image to the cloud platform.

1. Navigate to **"Cloud Storage"** → **"Object Storage"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F0SjEwtJmnokikEdulDr7%2FobjectStorageSection.jpg?alt=media&#x26;token=3ca40315-2c48-463c-9951-4dc0ab618ec4" alt=""><figcaption><p>"Object Storage" section</p></figcaption></figure>

2. Create a new storage resource by clicking **"Add Object Storage"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FHiaLaFBsLuXKxcNmtnhh%2FaddObjectStorageButton.jpg?alt=media&#x26;token=33acbf89-8780-4251-aded-252019b9cd2e" alt=""><figcaption><p>"Add Object Storage" button</p></figcaption></figure>

3. Select the type of storage (it’s recommended to use the basic option, as you only need it to store the disk image). Also provide a name.
4. Click on your newly created storage resource:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FQJBknNEhuFSeHezWP05d%2FstorageName.jpg?alt=media&#x26;token=f61c992d-2659-47f0-b406-ed73b4302853" alt=""><figcaption><p>Name of the Object Storage</p></figcaption></figure>

5. Go to the **"Buckets"** tab and create a new bucket with a custom name.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FSLSNceEpPkETG7v4kWeY%2FcreateBucket.jpg?alt=media&#x26;token=99f63cc9-a305-4ea6-98c0-8cb46bfcebf4" alt=""><figcaption><p>Creating a new bucket</p></figcaption></figure>

6. The storage information will display S3 connection details.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FKoae6mFPd4u3e3rNOsvz%2Fs3Credetionals.jpg?alt=media&#x26;token=7bb45978-ef85-43e4-a466-eda0dc995866" alt=""><figcaption><p>S3 Credetials</p></figcaption></figure>

7. Next, connect to your storage via WinSCP. Open WinSCP and select **"New Site"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FReHVLBqOtO9j36NfhAmW%2FnewSite.jpg?alt=media&#x26;token=d3f017cb-2f6e-42da-9de5-d4c3e668b107" alt=""><figcaption><p>"New Site"</p></figcaption></figure>

8. Enter the following parameters:

* **File protocol** – Amazon S3
* **Encryption** – TLS/SSL Implicit encryption
* **Port number** – 443
* **Host Name**, **Access key ID**, and **Secret access key** – from the storage information

Click **"Login"**.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F81oftJ7nHJRLqKzcuKcJ%2Fs3WinSCP.jpg?alt=media&#x26;token=b3220a15-0f07-4783-93ea-5354d395f13d" alt=""><figcaption><p>S3 Connection parameters</p></figcaption></figure>

9. Upload the **.iso** disk image file to the storage.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Fc1tpYlbDmb4YvSoZJDWm%2FimportingFileWinSCP.jpg?alt=media&#x26;token=7ab70cc0-b04b-497c-817b-7909cac5d961" alt=""><figcaption><p>Uploading the .iso disk image file</p></figcaption></figure>

10. Return to the Vultr interface and go to your bucket’s directory.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FRnpFoDrCb63QAYR4emZ1%2FbucketMenu.jpg?alt=media&#x26;token=b10ef968-60a9-49ed-a478-6e0a22d018fd" alt=""><figcaption></figcaption></figure>

11. Click the three dots to the right of the file name, then **"Change Access"**. Grant access by toggling the switch.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Fid9MMB1wLoDw15BlQ2mv%2FCurrentPermission.jpg?alt=media&#x26;token=3e0bf062-4868-46f4-923e-7d626d60052f" alt=""><figcaption><p>"Change Access"</p></figcaption></figure>

### Importing the ISO

1. Click the three dots to the right of the file name and select **"Copy URL"**.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FihCX2K6ELjAPfgQ6CQq6%2FCopyURL.jpg?alt=media&#x26;token=35d933b0-eb1c-4162-8f5f-b92c2c4cacbb" alt=""><figcaption><p>"Copy URL" button</p></figcaption></figure>

2. Navigate to **"Orchestration"** → **"ISOs"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FD6m3EcNKuA146mxXFLmu%2FISOs%20Section.jpg?alt=media&#x26;token=73ea87dd-301f-4b86-8d14-271c093cc54a" alt=""><figcaption><p>"ISOs" section</p></figcaption></figure>

3. Click **"Add ISO"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FOIVsVlKEmPRnJNAEp2NN%2FAddISO.jpg?alt=media&#x26;token=88bb146b-5dff-4a52-9d51-cbca03e8d155" alt=""><figcaption><p>"Add ISO" button</p></figcaption></figure>

4. Paste the link to your previously uploaded file and click **"Upload"**.

## Adding an SSH Key Pair

1. Go to **"Account"** → **"SSH Keys"**. Click **"Add SSH Key"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F2hMR98xuUJ0FDn0ZDUnO%2FaddSSHKey.jpg?alt=media&#x26;token=433a7c79-fd19-486f-a64c-8c79c75e9d29" alt=""><figcaption><p>"Add SSH Key" button</p></figcaption></figure>

2. Generate an SSH key pair [following this guide](https://docs.mikopbx.com/mikopbx/english/faq/troubleshooting/connecting-to-a-pbx-using-ssh).
3. In the interface for adding the key pair, provide a custom name and paste your **public** SSH key.

   Click **"Add SSH Key"**.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FCAQSShXgosQRMIw2MmUW%2FSSHkeysParameters.jpg?alt=media&#x26;token=c1a4d005-2e46-488c-abca-a20b066de759" alt=""><figcaption><p>Adding SSH Key Pair</p></figcaption></figure>

## Creating a Virtual Machine

1. Go to **"Products"** → **"Compute"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FhQOwe84usMkEcYM7iN8K%2FcomputeSection.jpg?alt=media&#x26;token=e86c4c9c-1b62-43a1-be21-561abab3d75f" alt=""><figcaption><p>"Compute" section</p></figcaption></figure>

2. Click **"Deploy Server"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2Fp0ZFFk3k64WiyGHLi0gk%2FdeployServer.jpg?alt=media&#x26;token=b8bfafe6-518e-4606-b4ba-b915a345f3ba" alt=""><figcaption><p>"Deploy Server" button</p></figcaption></figure>

3. In the next section, select the region and configuration for your virtual machine.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FEhmzan6yprDkxa6j6usB%2FVMParameters1.jpg?alt=media&#x26;token=91aeb161-4ed6-4b69-b930-83973326f5ae" alt=""><figcaption><p>VM Parameters №1</p></figcaption></figure>

4. Continue configuring the server:

* Under **ISO/iPXE**, select the previously uploaded ISO.
* Select the SSH key pair you created.

Click **"Deploy"**.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FZ2vuJQQ0xmT9YpFmsSVv%2FVMParameters2.jpg?alt=media&#x26;token=a45ea4bb-3a52-4390-9bdb-9e42d506bd8b" alt=""><figcaption><p>VM Parameters №2</p></figcaption></figure>

## Creating a Second Disk

After the server is created, power it off.

1. Go to **"Cloud Storage"** → **"Block Storage"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FjsMbXrn6CrUaamVpkuWa%2FblockStorageSection.jpg?alt=media&#x26;token=5d0716d0-5dde-4cae-8364-7bca513b184b" alt=""><figcaption><p>"Block Storage" section</p></figcaption></figure>

2. Click **"Add Block Storage"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FYbWI4Ybx8XIfDBd4z2uJ%2FaddBlockStorage.jpg?alt=media&#x26;token=fb508b96-1578-46e3-9a97-8a69215a9ca2" alt=""><figcaption><p>"Add Block Storage" button</p></figcaption></figure>

3. Select the disk type, region (same as the VM), size, and a custom name.

{% hint style="warning" %}
We recommend at least **50GB** for storing call recordings. This guide uses 30GB as an example.
{% endhint %}

4. Go to the management page for the newly created block storage. Attach the volume to your virtual machine using the **"Attach to:"** option.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FVKrV8eafdbMFf08fp1ic%2FattachTo.jpg?alt=media&#x26;token=c1928dc7-80c2-4b86-bc2b-0a70cbd08b21" alt=""><figcaption><p>"Attach to" option</p></figcaption></figure>

## Installing the System

1. Go to your virtual machine management page.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FUa8Pxkttoix0TJAIvHY9%2FserverInformation.jpg?alt=media&#x26;token=c2ed841e-fce5-4517-90a5-90df874d8fba" alt=""><figcaption><p>"Server Information" page</p></figcaption></figure>

2. Open the console by clicking the relevant button:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FSF40WY5HKSfETS6JRyLu%2FConsoleButton.jpg?alt=media&#x26;token=090a9733-49cc-4d09-9a20-ef6c8a621e8a" alt=""><figcaption><p>"Console" button</p></figcaption></figure>

3. You will enter the built-in console.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F4MIvmU5xS6NDQxalENE7%2FinternalConsole.jpg?alt=media&#x26;token=dce6992c-3b5c-4eea-9048-b39809073d57" alt=""><figcaption><p>Built-in console</p></figcaption></figure>

4. Navigate to **"\[8] Install"**.
5. Select the disk to be used as the system disk. Confirm by typing **"y"** and pressing **"Enter"**:

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FzT1BjmlhTRl1IibW0eXN%2FmountingSystemDrive.jpg?alt=media&#x26;token=8320d26c-078f-4b13-9b4a-07f0e1beb7a0" alt=""><figcaption><p>Installing system</p></figcaption></figure>

6. Select the disk for storing call recordings. The system will reboot.
7. Go to **"Settings"** for your virtual machine and then **"Custom ISO"**. Click **"Remove ISO"**.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F8RYCeYrGa2oxqVEd0Itx%2FremoveISO.jpg?alt=media&#x26;token=079ae31e-d0b8-4200-821d-4506366d4c69" alt=""><figcaption><p>"Remove ISO" element</p></figcaption></figure>

At this point, MikoPBX is installed and ready to use.

## Connecting to the Web Interface

1. In your browser, enter the IP adress of your virtual machine. You can find it in the MikoPBX console.

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F0wdlSIrxG1AjkFxc9g1q%2FMikoPBXIPadress.jpg?alt=media&#x26;token=842815f3-b759-4027-a28f-95806c69e230" alt=""><figcaption><p>MikoPBX IP-adress</p></figcaption></figure>

2. Log in using the following credentials:

* **Username**: admin
* **Password**: The VM ID, which looks like "150dd137-a0e2-45f6-baf9-ddc15a600d60" and can be found in the address bar (screenshot below).

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2F8JuPoq2w1iumkwVouyVd%2FmachineID.jpg?alt=media&#x26;token=cd7f2bf8-5ef9-4116-be39-881f061d8779" alt=""><figcaption><p>Machine ID</p></figcaption></figure>

<figure><img src="https://835495363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZ8acWnNlSalIHQjMFu1%2Fuploads%2FxUGCyIL9kfz4C3ORS9kp%2FmikoPBXWebint.jpg?alt=media&#x26;token=683c2e64-a0ff-45c3-9bf0-6529264eea63" alt=""><figcaption><p>MikoPBX Web-interface</p></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://docs.mikopbx.com/mikopbx/english/setup/cloud/vultr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
