PHPackages                             amirvahedix/laravel-deploy-ftp - 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. amirvahedix/laravel-deploy-ftp

ActiveLibrary

amirvahedix/laravel-deploy-ftp
==============================

A Laravel package to deploy files modified in Git to an FTP server based on commits, tags, or git status.

v1.0.1(today)00MITPHPPHP ^8.2

Since Jul 24Pushed todayCompare

[ Source](https://github.com/AmirVahedix/laravel-deploy-ftp)[ Packagist](https://packagist.org/packages/amirvahedix/laravel-deploy-ftp)[ RSS](/packages/amirvahedix-laravel-deploy-ftp/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (2)Versions (3)Used By (0)

Laravel FTP Deploy (`amirvahedix/laravel-deploy-ftp`)
=====================================================

[](#laravel-ftp-deploy-amirvahedixlaravel-deploy-ftp)

[![Latest Stable Version](https://camo.githubusercontent.com/44561544bc2dea51eb1528e72e71b165e169061d2d1fcbdca7d990545a21e784/68747470733a2f2f706f7365722e707567782e6f72672f616d6972766168656469782f6c61726176656c2d6465706c6f792d6674702f762f737461626c65)](https://packagist.org/packages/amirvahedix/laravel-deploy-ftp)[![License](https://camo.githubusercontent.com/e4f818d1bdda17a9a8ff890a7d05f02bf6fbc9ac196c5bedec63af4727802ceb/68747470733a2f2f706f7365722e707567782e6f72672f616d6972766168656469782f6c61726176656c2d6465706c6f792d6674702f6c6963656e7365)](https://packagist.org/packages/amirvahedix/laravel-deploy-ftp)

A lightweight Laravel package to deploy files modified in Git (plus compiled assets like `public/build`) to any shared hosting or server via FTP/FTPS.

Features
--------

[](#features)

- 🚀 **Git-based deployment**: Deploy modified files based on Git commits, tags, or `git status`.
- 📁 **Asset inclusion**: Automatically includes compiled frontend assets (`public/build`).
- 🛑 **Exclusions**: Automatically excludes sensitive `.env` files, `.git/`, `vendor/`, `node_modules/`, and custom specified paths.
- ⚙️ **Config &amp; `.env` driven**: Easily configured via `config/deploy-ftp.php` or `.env` variables.
- 🧪 **Dry-run mode**: Preview files to be uploaded before performing actual transfer.

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

[](#installation)

Install the package via Composer in any Laravel project:

```
composer require amirvahedix/laravel-deploy-ftp
```

*(The package uses Laravel Service Discovery and will automatically register the `deploy:ftp` Artisan command).*

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

[](#configuration)

Publish the package configuration file to `config/deploy-ftp.php`:

```
php artisan vendor:publish --tag=deploy-ftp-config
```

### Environment Variables (`.env`)

[](#environment-variables-env)

Add your FTP server details to your `.env` file:

```
FTP_DEPLOY_HOST=ftp.example.com
FTP_DEPLOY_USERNAME=your_username
FTP_DEPLOY_PASSWORD=your_password
FTP_DEPLOY_PORT=21
FTP_DEPLOY_SSL=false
FTP_DEPLOY_ROOT=/public_html
FTP_DEPLOY_TAG=deployed-latest
```

Usage
-----

[](#usage)

Run the deployment command:

```
php artisan deploy:ftp
```

### Command Options

[](#command-options)

OptionDescription`--all`Deploy all tracked files (useful for initial deployment)`--status`Deploy modified and untracked files based on `git status``--from=COMMIT`Starting Git commit or tag reference to diff from`--to=COMMIT`Ending Git commit (defaults to `HEAD`)`--dry-run`Print list of files that would be uploaded without connecting/uploading`--host=HOST`Override FTP host`--user=USER`Override FTP username`--password=PASS`Override FTP password`--port=PORT`Override FTP port (default: `21`)`--ssl`Connect using SSL/TLS (FTPS)`--root=PATH`FTP remote root folder (e.g. `/public_html`)`--tag=TAG`Git tag to track the last deployed commit (default: `deployed-latest`)`--push`Push the deployment Git tag to remote Git origin`--exclude=PATH`Comma-separated list of additional files/directories to exclude### Examples

[](#examples)

**Simulate a full deployment (Dry Run):**

```
php artisan deploy:ftp --all --dry-run
```

**Deploy uncommitted / modified files from git status:**

```
php artisan deploy:ftp --status
```

**Deploy diff between `HEAD~2` and `HEAD`:**

```
php artisan deploy:ftp --from=HEAD~2 --to=HEAD
```

License
-------

[](#license)

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

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance100

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

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

2

Last Release

0d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/61597931?v=4)[Amir Vahedi](/maintainers/AmirVahedix)[@AmirVahedix](https://github.com/AmirVahedix)

---

Top Contributors

[![AmirVahedix](https://avatars.githubusercontent.com/u/61597931?v=4)](https://github.com/AmirVahedix "AmirVahedix (5 commits)")

### Embed Badge

![Health badge](/badges/amirvahedix-laravel-deploy-ftp/health.svg)

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

###  Alternatives

[laravel/sail

Docker files for running a basic Laravel application.

1.9k205.7M1.3k](/packages/laravel-sail)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M245](/packages/laravel-ai)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77922.3M185](/packages/laravel-mcp)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

726176.2k14](/packages/tallstackui-tallstackui)[mike-bronner/laravel-model-caching

Automatic caching for Eloquent models.

2.4k96.5k1](/packages/mike-bronner-laravel-model-caching)[spatie/laravel-export

Create a static site bundle from a Laravel app

674146.0k6](/packages/spatie-laravel-export)

PHPackages © 2026

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