PHPackages                             iluminar/vps - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. iluminar/vps

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

iluminar/vps
============

A laravel 5 package to easily create and maitain vps on digital ocean

58345PHP

Since Aug 19Pushed 9y ago1 watchersCompare

[ Source](https://github.com/Hasnayeen/vps)[ Packagist](https://packagist.org/packages/iluminar/vps)[ RSS](/packages/iluminar-vps/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

VPS
===

[](#vps)

###### beta version

[](#beta-version)

[![License](https://camo.githubusercontent.com/85324c5bc7ce8b329a0faf3170078c71f85669f4d815886b839e5c6c50e7b89d/68747470733a2f2f706f7365722e707567782e6f72672f696c756d696e61722f7670732f6c6963656e73653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/iluminar/vps)[![StyleCI](https://camo.githubusercontent.com/a7f2f8638db571127eae6dab8faeff135a2b7968e01f76e9188ed948394bfe71/68747470733a2f2f7374796c6563692e696f2f7265706f732f36353637363830352f736869656c64)](https://styleci.io/repos/65676805)

A laravel 5 package to easily create and maitain vps on digital ocean. Yet to complete Have a look at the usage

```
$value = ["name"=> "test.com","region"=> "blr1","size"=> "512mb","image"=> "centos-7-2-x64"];
$result = VPS::droplet()->create($value);
```

We just created a droplet in digital ocean.

```
$result = VPS::droplet($id)->delete();
```

We just deleted a droplet by passing the id of our droplet.

Want to shutdown a droplet

```
$result = VPS::droplet($id)->shutdown();
```

How about getting all droplets we created

```
$result = VPS::droplet()->all();
```

Install
-------

[](#install)

You can pull in the package via composer:

```
$ composer require iluminar/vps
```

Or you can add this in your composer.json

```
"require": {
    "iluminar/vps": "dev-develop"
}
```

and then terminal from your root directory of project run following command

```
$ composer update
```

After updating composer, add a fluent service provider to the providers array in config/app.php file.

```
 'providers' => array(
        // ...
        Iluminar\VPS\Providers\VPSServiceProvider::class,
    )
```

then run in terminal

```
$ php artisan vendor:publish
```

Configuration
-------------

[](#configuration)

First you have to get a [personal access token](https://cloud.digitalocean.com/settings/api/tokens) and set the `DIGITAL_OCEAN_TOKEN` in the .env file.

Usage
-----

[](#usage)

Import the `VPS` facade in your controller

### Account information

[](#account-information)

```
$result = VPS::account();
```

### Get action information

[](#get-action-information)

Get all actions performed on an account

```
$result = VPS::action()->all();
```

Get information of an action

```
$result = VPS::action()->find($id);
```

### Get droplet information

[](#get-droplet-information)

Get information of all droplets

```
$result = VPS::droplet()->all();
```

Get information of a single droplet

```
$result = VPS::droplet()->find($id);
```

Get all snapshots of a droplet

```
$result = VPS::droplet($id)->snapshots();
```

Get all backups of a droplet

```
$result = VPS::droplet($id)->backups();
```

Enable backups of a droplet

```
$result = VPS::droplet($id)->enableBackups();
```

Disable backups of a droplet

```
$result = VPS::droplet($id)->disableBackups();
```

Reboot a droplet

```
$result = VPS::droplet($id)->reboot();
```

Power cycle a droplet

```
$result = VPS::droplet($id)->powerCycle();
```

Shutdown a droplet

```
$result = VPS::droplet($id)->shutdown();
```

Power off a droplet

```
$result = VPS::droplet($id)->powerOff();
```

Power on a droplet

```
$result = VPS::droplet($id)->powerOn();
```

Restore a droplet by providing a id of previous image

```
$result = VPS::droplet($id)->restore();
```

Resize a droplet, pass a size parameter (1gb, 2gb etc..). For permanent resize also passed a boolen valu of true

```
$result = VPS::droplet($id)->resize('1gb');
$result = VPS::droplet($id)->resize('1gb', true); // permanent resize
```

Rebuild a droplet, pass a image id or slug as a parameter

```
$result = VPS::droplet($id)->rebuild($id);
$result = VPS::droplet($id)->rebuild('ubuntu-14-04-x64'); // rebuild by image slug
```

Rename a droplet, pass a string as a parameter

```
$result = VPS::droplet($id)->rebuild('name');
```

Enable ipv6 on a droplet

```
$result = VPS::droplet($id)->enableIPv6();
```

Enable private networking on a droplet

```
$result = VPS::droplet($id)->enablePrivateNetworking();
```

Take snapshot of a droplet, pass a string as a parameter to name the snapshot

```
$result = VPS::droplet($id)->takeSnapshot('new nifty snapshot');
```

Get information of a action performed on this droplet

```
$result = VPS::droplet($id)->action($actionId);
```

### Get image information

[](#get-image-information)

List all images

```
$result = VPS::image()->all();
```

List all distribution images

```
$result = VPS::image()->where(['type' => 'distribution']);
```

List all application images

```
$result = VPS::image()->where(['type' => 'application']);
```

List all private images of user

```
$result = VPS::image()->where(['private' => 'true']);
```

Get information of a single image

```
$result = VPS::image()->find($id);
```

Get information of a single image by slug

```
$result = VPS::image()->find('ubuntu-14-04-x64');
```

List all actions for an images

```
$result = VPS::image($id)->actions();
```

Rename an image

```
$result = VPS::image($id)->rename('new cool name');
```

Delete an image

```
$result = VPS::image($id)->delete();
```

Transfer an image to a different region

```
$result = VPS::image($id)->transfer('nyc1');
```

Convert an image to a snapshot

```
$result = VPS::image($id)->convert();
```

Get information of an action performed on an image

```
$result = VPS::image($id)->action($actionId);
```

### SSH keys

[](#ssh-keys)

List all keys associated with this account

```
$result = VPS::ssh()->all();
```

Add a new ssh key to your account

```
$result = VPS::ssh()->create(['name' => 'my-home-key', 'public_key' => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy"]);
```

Get information about a key by key id or fingerprint

```
$result = VPS::ssh()->find($id); // or $fingerprint instead of $id
```

Rename a key

```
$result = VPS::ssh($id)->rename('new key name');
```

Delete a key

```
$result = VPS::ssh($id)->delete(); // $fingerprint can also be used instead of $id
```

Documentation
-------------

[](#documentation)

Yet to be added.

### TODO

[](#todo)

> **documentation**

> **Error handling**

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

If you discover a security vulnerability in the package, please send an e-mail to Nehal Hasnayeen at . All security vulnerabilities will be promptly addressed.

License
-------

[](#license)

The **Iluminar\\VPS** is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributor
-----------

[](#contributor)

Made by [Hasnayeen](https://github.com/hasnayeen) with love in [![Bangladesh](https://camo.githubusercontent.com/9e911644f32b6be3c52930456b75ab45a763582cde56a956dd28ad64f16d630d/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f662f66392f466c61675f6f665f42616e676c61646573682e7376672f323070782d466c61675f6f665f42616e676c61646573682e7376672e706e67)](https://camo.githubusercontent.com/9e911644f32b6be3c52930456b75ab45a763582cde56a956dd28ad64f16d630d/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f662f66392f466c61675f6f665f42616e676c61646573682e7376672f323070782d466c61675f6f665f42616e676c61646573682e7376672e706e67)

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9433499?v=4)[Nehal Hasnayeen](/maintainers/Hasnayeen)[@Hasnayeen](https://github.com/Hasnayeen)

---

Top Contributors

[![Hasnayeen](https://avatars.githubusercontent.com/u/9433499?v=4)](https://github.com/Hasnayeen "Hasnayeen (6 commits)")

---

Tags

digital-oceandigitaloceanlaravellaravel-5-packagevps

### Embed Badge

![Health badge](/badges/iluminar-vps/health.svg)

```
[![Health](https://phpackages.com/badges/iluminar-vps/health.svg)](https://phpackages.com/packages/iluminar-vps)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
