PHPackages                             koskey/laravel-digital-ocean-deployer - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. koskey/laravel-digital-ocean-deployer

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

koskey/laravel-digital-ocean-deployer
=====================================

A Laravel package for automated deployment to DigitalOcean servers

1.2.2(1y ago)016MITPHPPHP ^8.1|^8.2

Since Dec 26Pushed 1y ago1 watchersCompare

[ Source](https://github.com/KoskeyHoward/laravel-digital-ocean-deployer)[ Packagist](https://packagist.org/packages/koskey/laravel-digital-ocean-deployer)[ RSS](/packages/koskey-laravel-digital-ocean-deployer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (5)Used By (0)

Laravel DigitalOcean Deployer
=============================

[](#laravel-digitalocean-deployer)

A Laravel package for automated deployment to DigitalOcean servers using GitHub Actions.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require koskey/laravel-digital-ocean-deployer
```

Updating
--------

[](#updating)

To get the latest updates, run:

```
composer update koskey/laravel-digital-ocean-deployer
```

After updating, check the [CHANGELOG.md](CHANGELOG.md) for any breaking changes or new features.

If you've updated from version 1.0.0, you now have access to the new `deployer:generate-key` command for easier SSH key setup.

### Important Update Notice for v1.2.2

[](#important-update-notice-for-v122)

If you're updating from a previous version, you need to republish the config file:

```
php artisan vendor:publish --provider="Koskey\LaravelDigitalOceanDeployer\DeployerServiceProvider" --tag="config" --force
```

This update changes how server configuration is handled, moving from environment variables to GitHub secrets directly.

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

[](#configuration)

1. Publish the configuration file:

```
php artisan vendor:publish --provider="Koskey\LaravelDigitalOceanDeployer\DeployerServiceProvider" --tag="config"
```

2. Publish the GitHub workflow:

```
php artisan vendor:publish --provider="Koskey\LaravelDigitalOceanDeployer\DeployerServiceProvider" --tag="config"
```

Edit the `config/deployer.php` file to set your preferred branch name:

```
'repository' => [
    'provider' => 'github',
    'branch' => 'master', // Change this to your desired branch
],
```

Then publish the GitHub workflow with your configured branch:

```
php artisan deployer:publish-workflow
```

3. Add the following environment variables to your GitHub repository secrets:

- `DO_HOST`: Your DigitalOcean server hostname
- `DO_USERNAME`: Your server username
- `DO_SSH_KEY`: Your SSH private key (base64 encoded)
- `DO_PATH`: Your application path on the server (default: /var/www/html)

### Getting Your Base64 Encoded SSH Key

[](#getting-your-base64-encoded-ssh-key)

The package provides an easy way to get your base64 encoded SSH key. After installation, run:

```
php artisan deployer:generate-key
```

This command will:

1. Find your SSH private key (usually in `~/.ssh/id_rsa`)
2. Convert it to base64 format
3. Display both the encoded private key (for GitHub) and the public key (for your server)
4. If no SSH key is found, it can generate a new key pair for you

You can also specify a custom path to your SSH key:

```
php artisan deployer:generate-key --path=/path/to/your/key
```

Add the base64 encoded output as the value for `DO_SSH_KEY` in your GitHub repository secrets.

Note: Make sure the corresponding public key is added to your DigitalOcean server's `~/.ssh/authorized_keys` file.

Usage
-----

[](#usage)

The package will automatically deploy your application when you push to the main branch. You can also manually deploy using the artisan command:

```
php artisan deploy
```

Configuration Options
---------------------

[](#configuration-options)

You can customize the deployment process by editing the `config/deployer.php` file:

- Server configuration
- Repository settings
- Deployment steps
- Custom hooks
- File permissions

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance40

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

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.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

502d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/aedc5ab902a7cea0aa2f3b0dd577773c6af02e54b68849fc975a8af89969379f?d=identicon)[KoskeyHoward](/maintainers/KoskeyHoward)

---

Top Contributors

[![KoskeyHoward](https://avatars.githubusercontent.com/u/25302261?v=4)](https://github.com/KoskeyHoward "KoskeyHoward (19 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/koskey-laravel-digital-ocean-deployer/health.svg)

```
[![Health](https://phpackages.com/badges/koskey-laravel-digital-ocean-deployer/health.svg)](https://phpackages.com/packages/koskey-laravel-digital-ocean-deployer)
```

###  Alternatives

[timokoerber/laravel-one-time-operations

Run operations once after deployment - just like you do it with migrations!

6481.7M11](/packages/timokoerber-laravel-one-time-operations)[spatie/laravel-prometheus

Export Laravel metrics to Prometheus

2651.3M6](/packages/spatie-laravel-prometheus)[sammyjo20/lasso

Lasso - Asset wrangling for Laravel made simple.

355347.9k](/packages/sammyjo20-lasso)[stechstudio/laravel-env-security

Securely manage .env files for different deployment environments

77116.4k1](/packages/stechstudio-laravel-env-security)[aaronfrancis/airdrop

A Laravel package to deploy your application faster by skipping asset compilation when possible.

19594.9k](/packages/aaronfrancis-airdrop)[richdynamix/arc

Production ready docker based development environment for your Laravel project.

1163.1k](/packages/richdynamix-arc)

PHPackages © 2026

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