whatisgithub

What is laravel-ftp-deployer?

cyberwizard-dev/laravel-ftp-deployer — explained in plain English

Analysis updated 2026-05-18

1PHPAudience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A PHP tool that deploys Laravel app updates over FTP by zipping only changed files, letting you run Artisan commands without SSH access.

Mindmap

mindmap
  root((laravel ftp deployer))
    What it does
      Deploys via FTP
      Runs Artisan remotely
      Zips changed files
    Tech stack
      PHP
      Laravel
      Composer
    Use cases
      Shared hosting deploys
      No SSH servers
      First time setup
    Audience
      Developers
      Small teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Deploy Laravel app updates to shared hosting that only offers FTP access

USE CASE 2

Run Artisan commands like migrations and cache clearing without SSH

USE CASE 3

Automatically detect and upload only changed files to save deploy time

USE CASE 4

Set up a brand new Laravel install on an empty server via first-time mode

What is it built with?

PHPLaravelComposerFTP

How does it compare?

cyberwizard-dev/laravel-ftp-deployeragentpietrucha/ks_affiliationmungell/twitteroauth
Stars111
LanguagePHPPHPPHP
Last pushed2012-01-21
MaintenanceDormant
Setup difficultyeasymoderatemoderate
Complexity2/53/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Needs FTP credentials and a Composer install, no SSH required.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

Laravel FTP Deployer is a PHP tool built for developers stuck with hosting providers that only offer FTP or SFTP access, not SSH. Laravel projects normally rely on Artisan, a command line tool, to run database migrations, clear caches, and toggle maintenance mode. Without SSH, those commands cannot be run directly on the server, which creates real problems when you need to deploy an update. This package solves that by packaging changed files into a single ZIP archive instead of uploading files one at a time. It tracks file changes locally using MD5 hashes stored in a manifest file, so only files that changed since the last deploy get zipped and uploaded. Once the ZIP reaches the server over FTP, a small temporary PHP helper script unpacks it, sets correct folder permissions on the storage and cache directories, clears out stale cached configuration to avoid errors, and runs the Artisan commands you specify, all while the site is placed in maintenance mode so visitors do not see a broken page. After the process finishes, both the ZIP file and the helper script are deleted automatically. Setup uses Composer to install the package. Credentials are read from a .env.prod file if present, or a regular .env file otherwise. A deploy.json file, created automatically on first run, lets you exclude certain files or folders and define custom groups of Artisan commands to run. A first time deployment mode exists for pushing a full copy of the app to a brand new empty server, bypassing the usual exclusion rules. This is a small, focused tool aimed at solo developers or small teams working with restrictive shared hosting. It does not include a web dashboard or team features, just command line usage through Composer's vendor/bin folder. The project is licensed under MIT, so it can be used freely, including for commercial projects.

Copy-paste prompts

Prompt 1
Show me how to configure deploy.json to exclude the tests folder when using laravel-ftp-deployer
Prompt 2
Help me set up .env.prod credentials for laravel-ftp-deployer on my shared host
Prompt 3
Write a custom_commands group in deploy.json that runs migrate and cache clear together
Prompt 4
Explain what --first-time does in laravel-ftp-deployer and when I should use it

Frequently asked questions

What is laravel-ftp-deployer?

A PHP tool that deploys Laravel app updates over FTP by zipping only changed files, letting you run Artisan commands without SSH access.

What language is laravel-ftp-deployer written in?

Mainly PHP. The stack also includes PHP, Laravel, Composer.

What license does laravel-ftp-deployer use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is laravel-ftp-deployer to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is laravel-ftp-deployer for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.