PHPackages                             lianmafutra/deploy - 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. lianmafutra/deploy

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

lianmafutra/deploy
==================

Laravel Git FTP Deploy

v1.8(3y ago)76933MITPHPPHP ^7.4|^8.0|^8.1

Since Jun 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/lianmafutra/deploy)[ Packagist](https://packagist.org/packages/lianmafutra/deploy)[ RSS](/packages/lianmafutra-deploy/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (2)Versions (10)Used By (0)

Laravel GIT-FTP
===============

[](#laravel-git-ftp)

A Simple Package for Deployment Laravel App with Git FTP Server Method and SSH Server, Easy Configuration, Rollback Deploy, CI/CD

[![Screenshot 2023-07-03 115658](https://private-user-images.githubusercontent.com/15800599/250460866-ce362e8d-d9d6-47c1-b429-458002cab4d7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNTA0NjA4NjYtY2UzNjJlOGQtZDlkNi00N2MxLWI0MjktNDU4MDAyY2FiNGQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTliZmQ4YjQyZGUzZmZlNzIzZjJlMGRjYTlkYzI1ZWVlYTc5NjNkZjkzOGIyMjE4NzE2OWMxMjM5YzY3YzFmODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.SxxghmR2GBm4AT7lsO5w_y-mtWdpAnfYiPxKZMlrO68)](https://private-user-images.githubusercontent.com/15800599/250460866-ce362e8d-d9d6-47c1-b429-458002cab4d7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNTA0NjA4NjYtY2UzNjJlOGQtZDlkNi00N2MxLWI0MjktNDU4MDAyY2FiNGQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTliZmQ4YjQyZGUzZmZlNzIzZjJlMGRjYTlkYzI1ZWVlYTc5NjNkZjkzOGIyMjE4NzE2OWMxMjM5YzY3YzFmODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.SxxghmR2GBm4AT7lsO5w_y-mtWdpAnfYiPxKZMlrO68)

[![Screenshot_1](https://private-user-images.githubusercontent.com/15800599/242781791-a11b75ff-9a10-4dfe-a80a-4bd11c489677.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNDI3ODE3OTEtYTExYjc1ZmYtOWExMC00ZGZlLWE4MGEtNGJkMTFjNDg5Njc3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwNGNkYWU2ZTQzNjlmYzAwNTJjMDJhNmJkZTBlMTdiMDQ5ZDgzOGQ2ODI3MWQ4OWE2MWI4MjdmYzQ5ZDBkOTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.e6dU9VvNgUHwrG9B8AYpU5_WWTopr6K-sHX87Ew3Ztc)](https://private-user-images.githubusercontent.com/15800599/242781791-a11b75ff-9a10-4dfe-a80a-4bd11c489677.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNDI3ODE3OTEtYTExYjc1ZmYtOWExMC00ZGZlLWE4MGEtNGJkMTFjNDg5Njc3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUwNGNkYWU2ZTQzNjlmYzAwNTJjMDJhNmJkZTBlMTdiMDQ5ZDgzOGQ2ODI3MWQ4OWE2MWI4MjdmYzQ5ZDBkOTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.e6dU9VvNgUHwrG9B8AYpU5_WWTopr6K-sHX87Ew3Ztc)

Requirement
-----------

[](#requirement)

Before using this package you must install and running GIT-FTP in your Local System [https://github.com/git-ftp/git-ftp\](https://github.com/git-ftp/git-ftp/blob/master/INSTALL.md](https://github.com/git-ftp/git-ftp%5D(https://github.com/git-ftp/git-ftp/blob/master/INSTALL.md)

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

[](#installation)

Require this package with composer. It is recommended to only require the package for development.

1. Install with Composer

```
composer require lianmafutra/deploy --dev
```

2. First publish config and console command into your app directory', by running the following command:

```
php artisan vendor:publish --provider="LianMafutra\Deploy\LibraryServiceProvider" --tag=deploy --force
```

will be create file : `app/Console/Commands/Deploy.php` , `app/Console/Commands/DeploySetup.php`, `config/deploy.php`

Package Configuration
---------------------

[](#package-configuration)

1. In your `.env` file, add the your SSH server host production and FTP account :

```
#Sample Configuration
DEPLOY_HOST=103.31.xx.xx
DEPLOY_PORT=22
DEPLOY_PATH="/www/wwwroot/myproject/"
DEPLOY_USER=root
DEPLOY_PASS=ssh_password

FTP_URL=103.31.xx.xx
FTP_USER=ftp_user
FTP_PASS=ftp_pass
```

2. Run Command Setup, to test configuration :

```
php artisan deploy:setup
```

[![Screenshot_4](https://private-user-images.githubusercontent.com/15800599/242891665-08895301-46ff-4a30-8fc2-df5c015bc5c0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNDI4OTE2NjUtMDg4OTUzMDEtNDZmZi00YTMwLThmYzItZGY1YzAxNWJjNWMwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkMDJmMDYxZDI3MTI5YzkxODNkYmVmYTg2N2NhYjhlZmMzZTQyZDI5NGQxNDNmOGNjMjE3ODc5YjFiMWU0NWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.30rv0f3uYFCq2lSRa4BkRcrdHGECV9pc3cP3j_Bcv0c)](https://private-user-images.githubusercontent.com/15800599/242891665-08895301-46ff-4a30-8fc2-df5c015bc5c0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNDI4OTE2NjUtMDg4OTUzMDEtNDZmZi00YTMwLThmYzItZGY1YzAxNWJjNWMwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNkMDJmMDYxZDI3MTI5YzkxODNkYmVmYTg2N2NhYjhlZmMzZTQyZDI5NGQxNDNmOGNjMjE3ODc5YjFiMWU0NWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.30rv0f3uYFCq2lSRa4BkRcrdHGECV9pc3cP3j_Bcv0c)

Setup is complete !

3. you can custom command deploy in `config/deploy.php` , default command like this :

```
  'command-first-deploy' => [
      'composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev',
      'php artisan down',
      'php artisan optimize',
      'php artisan storage:link',
      'php artisan migrate --force',
      'php artisan auth:clear-resets',
      'php artisan view:clear',
      'php artisan view:cache',
      'php artisan up'
   ],
   'command-deploy' => [
      'composer install --prefer-dist --no-scripts -q -o',
      'php artisan down',
      'php artisan optimize',
      'php artisan view:clear',
      'php artisan view:cache',
      'php artisan up'
   ],
   'command-optimize' => [
      'php artisan down',
      'php artisan optimize',
      'php artisan view:clear',
      'php artisan view:cache',
      'php artisan up'
   ]

```

Usage
-----

[](#usage)

1. Run Command Terminal :

```
php artisan deploy
```

2. Terminal Show Option, Select option with type number :

[![Screenshot 2023-07-03 115658](https://private-user-images.githubusercontent.com/15800599/250460866-ce362e8d-d9d6-47c1-b429-458002cab4d7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNTA0NjA4NjYtY2UzNjJlOGQtZDlkNi00N2MxLWI0MjktNDU4MDAyY2FiNGQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTliZmQ4YjQyZGUzZmZlNzIzZjJlMGRjYTlkYzI1ZWVlYTc5NjNkZjkzOGIyMjE4NzE2OWMxMjM5YzY3YzFmODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.SxxghmR2GBm4AT7lsO5w_y-mtWdpAnfYiPxKZMlrO68)](https://private-user-images.githubusercontent.com/15800599/250460866-ce362e8d-d9d6-47c1-b429-458002cab4d7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTc5NTYsIm5iZiI6MTc4MzA1NzY1NiwicGF0aCI6Ii8xNTgwMDU5OS8yNTA0NjA4NjYtY2UzNjJlOGQtZDlkNi00N2MxLWI0MjktNDU4MDAyY2FiNGQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA3MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNzAzVDA1NDczNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTliZmQ4YjQyZGUzZmZlNzIzZjJlMGRjYTlkYzI1ZWVlYTc5NjNkZjkzOGIyMjE4NzE2OWMxMjM5YzY3YzFmODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.SxxghmR2GBm4AT7lsO5w_y-mtWdpAnfYiPxKZMlrO68)

- \[1\] `First Deploy` : First Upload Project to server
- \[2\] `Deploy Push` : Push New Commit file with GIT FTP and Auto run command through SSH server with command `php artisan down`, `php artisan optimize`, `php artisan view:clear`, `php artisan view:cache` finally `php artisan up`
- \[3\] `Only Optimize` : No Push commit, only run optimize in production
- \[4\] `Rollback Previous` : Rollback last commit in GIT locally and push to server production, you can fix in local with default branch and push again after fix

Note
----

[](#note)

If you have error/failed to first git ftp init or first deploy, you must check this pull request git-ftp core error fix ( out of memory curl ), open git-ftp file and change it like this pull request [git-ftp/git-ftp#638](https://github.com/git-ftp/git-ftp/pull/638)

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

[](#contributing)

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License
-------

[](#license)

[MIT](https://choosealicense.com/licenses/mit/)

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity59

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 ~4 days

Total

9

Last Release

1096d ago

### Community

Maintainers

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

---

Top Contributors

[![lianmafutra](https://avatars.githubusercontent.com/u/15800599?v=4)](https://github.com/lianmafutra "lianmafutra (92 commits)")

---

Tags

deploydeploymentdeployment-automationftpgit-ftplaravelproductionssh

### Embed Badge

![Health badge](/badges/lianmafutra-deploy/health.svg)

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[api-platform/laravel

API Platform support for Laravel

58171.5k14](/packages/api-platform-laravel)[ecotone/laravel

Ecotone for Laravel — CQRS, Event Sourcing, Sagas, Durable Workflows, and Outbox on top of Laravel Queue, via PHP attributes.

21318.6k3](/packages/ecotone-laravel)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3416.9k](/packages/duncanmcclean-statamic-cargo)[provydon/laravel-scale

Scale your Laravel app. A set of libraries: Laravel Octane (FrankenPHP), Docker, and a stateless web + worker setup for Render, Fly.io, Railway.

201.8k](/packages/provydon-laravel-scale)

PHPackages © 2026

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