PHPackages                             mayconbordin/laravel-http-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. [HTTP &amp; Networking](/categories/http)
4. /
5. mayconbordin/laravel-http-deployer

ActiveProject[HTTP &amp; Networking](/categories/http)

mayconbordin/laravel-http-deployer
==================================

A tool for automated deployment of Laravel applications using HTTP.

0.1(10y ago)11251[1 issues](https://github.com/mayconbordin/laravel-http-deployer/issues)MITPHPPHP &gt;=5.4.0

Since Oct 6Pushed 10y ago1 watchersCompare

[ Source](https://github.com/mayconbordin/laravel-http-deployer)[ Packagist](https://packagist.org/packages/mayconbordin/laravel-http-deployer)[ Docs](https://github.com/mayconbordin/laravel-http-deployer)[ RSS](/packages/mayconbordin-laravel-http-deployer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (7)Versions (2)Used By (0)

Laravel HTTP Deployer
=====================

[](#laravel-http-deployer)

A tool for automated deployment of Laravel applications using HTTP.

This library is for those that have to deploy Laravel applications on shared hosting without SSH access and don't want to use FTP or GIT.

If you want to use FTP and/or GIT check these libraries:

- [BrunoDeBarros/git-deploy-php](https://github.com/BrunoDeBarros/git-deploy-php)
- [lkwdwrd/git-deploy](https://github.com/lkwdwrd/git-deploy)
- [banago/PHPloy](https://github.com/banago/PHPloy)
- [dg/ftp-deployment](https://github.com/dg/ftp-deployment)

Remote Installation
-------------------

[](#remote-installation)

On the server where the application is going to be deployed, you need to drop the [deploy.php](https://github.com/mayconbordin/laravel-http-deployer/blob/master/src/server/deploy.php) file at a public accessible directory (e.g. `public_html`) with 0644 permissions.

You will also need to create a configuration file. By default the file should be called `deploy_config.ini` and be located in the same directory as the script. Example configuration file:

```
auth_key = YOUR_AUTH_KEY

```

Where `auth_key` is a unique key that will be used for authentication. So, your configuration file should have 0640 permissions.

Local Installation
------------------

[](#local-installation)

In order to install Laravel HTTP Deployer locally (development environment), just add

```
"mayconbordin/laravel-http-deployer": "0.1"
```

to your composer.json. Then run `composer install` or `composer update`.

Then in your `config/app.php` add

```
'Mayconbordin\LaravelHttpDeployer\LaravelHttpDeployerServiceProvider'
```

in the `providers` array.

### Configuration

[](#configuration)

You will also need to create a file with the deployment configuration. It's a YAML file that should look something like this:

```
deployments:
  application:
    auth_key: AUTH_KEY
    version_filename: version

    remote:
      url: http://localhost
      endpoint: /deploy.php
      target: /home/user/app
      temp_dir: /home/user/tmp
      history_dir: /home/user/tmp/old_deployments

    local:
      path: .
      temp_dir: /tmp

    ignore:
      - .git*
      - bower_components
      - node_modules
      - .idea
      - deploy
      - deployment.*
      - storage/app/*
      - storage/framework/cache/*
      - storage/framework/sessions/*
      - storage/framework/views/*
      - storage/logs/*
      - .env*

    extra_files:
      'deploy/env_file': ./.env

    before_scripts:
      - composer install --no-dev
      - php artisan optimize
      - grunt
```

The `deployments` section can have multiple entries, each one describing one deployment configuration. The `auth_key` is a string that will be used to authenticate the deployment with the server, choose it carefully. The `version_filename` is the name of the version file used to control the deployment version.

In the `remote` section you specify the host where the deployment is going to occurr by setting the `url`, whereas the `endpoint` points to the path where the `deploy.php` can be accessed externally. The `target` is the full path to the installation directory on the server. The `temp_dir` will be used for extracting the package prior to installation and the `history_dir` is going to store the older deployment versions.

In the `local` section you only specify the `path` to the application, the default value is the current directory (`.`), and the `temp_dir` for storing the packaged application for deployment.

Files can be excluded from the package by using the `ignore` list, the patterns are those from the [`tar`](https://www.gnu.org/software/tar/manual/html_section/tar_50.html) command.

The `extra_files` is a list of key/value pairs, where the key is the current file location and the value is the location of the file in the package. You can use it to include configuration files only meant for deployment, like the `.env` file. You have to prefix the target location with `./`.

The `before_scripts` can be used to run commands locally before packaging the application for deployment, like tasks for compressing CSS and JS files, removing development libraries, etc.

**Obs.: all paths are relative to the current working directory. Preferably the root of your project.**

Usage
-----

[](#usage)

#### Deploy

[](#deploy)

To deploy your application run:

```
php artisan deploy deployment.yaml
```

You can also choose which deployment you want to execute:

```
php artisan deploy deployment.yaml application
```

And if you only want to package the application without deploying it:

```
php artisan deploy --package-only deployment.yaml
```

#### Rollback

[](#rollback)

To rollback to a previous deployment version:

```
php artisan deploy:rollback deployment.yaml
```

And to rollback (or forward) to a specific version:

```
php artisan deploy:rollback deployment.yaml 5
```

You can also choose which deployment you want to rollback:

```
php artisan deploy deployment.yaml 5 application
```

#### Status

[](#status)

To see which version is deployed on the remote server as well as all available versions in the history directory:

You can also choose which deployment you want to execute:

```
php artisan deploy:status deployment.yaml
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

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

Unknown

Total

1

Last Release

3870d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/42528727c83dd30f55c2a01ced50c7f22aeaf5a0bf83503d862e15448733a81a?d=identicon)[mayconbordin](/maintainers/mayconbordin)

---

Top Contributors

[![mayconbordin](https://avatars.githubusercontent.com/u/597104?v=4)](https://github.com/mayconbordin "mayconbordin (32 commits)")

---

Tags

httplaraveldeploymentshared hosting

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mayconbordin-laravel-http-deployer/health.svg)

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

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[omniphx/forrest

A Laravel library for Salesforce

2724.4M8](/packages/omniphx-forrest)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[kozz/laravel-guzzle-provider

Guzzle 5/6 Service Provider for Laravel

621.1M2](/packages/kozz-laravel-guzzle-provider)[laravel-shift/curl-converter

A command line tool to convert curl requests to Laravel HTTP requests.

935.3k](/packages/laravel-shift-curl-converter)

PHPackages © 2026

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