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

ActiveOctober-plugin[DevOps &amp; Deployment](/categories/devops)

rainlab/deploy-plugin
=====================

A simple way to deploy your application to a remote location.

v3.3.3(1mo ago)166514[1 issues](https://github.com/rainlab/deploy-plugin/issues)proprietaryPHP

Since Jun 1Pushed 1mo ago5 watchersCompare

[ Source](https://github.com/rainlab/deploy-plugin)[ Packagist](https://packagist.org/packages/rainlab/deploy-plugin)[ RSS](/packages/rainlab-deploy-plugin/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (3)Dependencies (6)Versions (25)Used By (0)

Deploy Plugin
=============

[](#deploy-plugin)

A simple way to deploy your application to a remote location.

Requirements
------------

[](#requirements)

- October CMS 4.0 or above
- PHP cURL extension
- PHP openssl extension
- PHP eval function

### Installation

[](#installation)

```
php artisan plugin:install rainlab.deploy

```

### Why is This Plugin Needed?

[](#why-is-this-plugin-needed)

This plugin helps in cases where your remote server (production, staging, etc) cannot use composer or where shell access is limited, an example of this is shared hosting.

### How It Works

[](#how-it-works)

The Deploy plugin works by creating a secure channel between your local developer environment and your hosting server. Plugins, themes and core files are then compressed and sent securely to your server and then installed remotely. This approach is similar to an update gateway, except files are pushed to the server instead.

### Upgrade Older Versions of October CMS

[](#upgrade-older-versions-of-october-cms)

You may use this plugin as a solution to upgrading your website to a newer version of October CMS, for example, if want to upgrade a v1 website to use v2. Always **take a complete site backup** before performing these steps.

1. Install or upgrade to the latest October CMS version locally on your machine
2. Deploy the Beacon files to the older site you want to upgrade
3. The Deploy plugin will attempt to upgrade the site during its first deployment

If you need support with this process, feel free to [send an email to the helpdesk](https://octobercms.com/contact).

Documentation
-------------

[](#documentation)

Before starting, you should have set up a new site in your hosting manager and ideally have an empty database. You may also apply these instructions to an existing website, including legacy versions of October CMS, however, please make sure you have taken a complete backup in case something goes wrong.

For safety, the deploy plugin will never delete files. It will overwrite and create new files only. If you need to delete something, you should do it directly on the server.

#### Control Panel Setup

[](#control-panel-setup)

After installing this plugin, navigate to the Settings &gt; Deploy in your October CMS control panel and click **Create Server**.

1. Enter the web address for your site (eg: )
2. Generate a new RSA private key, or enter an existing one to set up an existing server
3. Download the Beacon ZIP files

#### Beacon Deployment

[](#beacon-deployment)

In your Beacon ZIP file, you should notice the following files:

- index.php
- bootstrap/app.php
- bootstrap/autoload.php
- bootstrap/beacon.php

You can upload these files anywhere and they will become a target for deployment of October CMS. You can use FTP or the file manager in your hosting control panel.

> **Important**: The directory where the files are uploaded must be writable by your web server (eg: permission 755 for apache).

#### Run Your First Deployment

[](#run-your-first-deployment)

Once you have the Beacon installed remotely and the server set up locally. It's time to perform your first deployment.

#### Troubleshooting Beacon the Response

[](#troubleshooting-beacon-the-response)

Sometimes you may see an error that a valid response from a beacon was not found.

The first thing to try is the "Check Beacon" link to make sure the beacon is **Active**, if it says **Unreachable**, try downloading the beacon files and uploading them again to your server.

You can perform more advanced troubleshooting by capturing the raw response from the server or beacon. To capture the raw response from the beacon, do the following.

1. Add `?debug=1` to the end of the URL in the backend.
2. Click Check Beacon or perform the deployment action again.
3. Check the log file in **storage/logs** to see what the server is responding with.

This should hopefully provide some insight in to why the response was not accepted.

Console Commands
----------------

[](#console-commands)

The deploy plugin provides several console commands that can be used as an alternative to the backend interface. These are useful for automating deployments or when building large archives (such as vendor packages) that may time out in the browser.

#### Listing Servers

[](#listing-servers)

Use the `deploy:list` command to see all configured deployment servers.

```
php artisan deploy:list

```

#### Testing Beacon Connectivity

[](#testing-beacon-connectivity)

Use the `deploy:test` command to check if a server's beacon is reachable. The server can be specified by name or ID.

```
php artisan deploy:test "My Server"
php artisan deploy:test 1

```

#### Building Archives

[](#building-archives)

Use the `deploy:build` command to build deployment archives locally without transmitting them. This is useful for verifying that large archives (especially vendor packages) can be built successfully.

```
php artisan deploy:build --vendor
php artisan deploy:build --core --config
php artisan deploy:build --all
php artisan deploy:build --plugins=Acme.Blog --plugins=Acme.Pages
php artisan deploy:build --themes=demo
php artisan deploy:build --all --output=/path/to/output

```

#### Deploying to a Server

[](#deploying-to-a-server)

Use the `deploy:server` command to perform a full deployment to a remote server. This mirrors the deployment workflow available in the backend interface.

```
php artisan deploy:server "My Server" --all
php artisan deploy:server "My Server" --core --config
php artisan deploy:server "My Server" --plugins=Acme.Blog --themes=demo
php artisan deploy:server "My Server" --all --force

```

If no options are specified, the command will prompt interactively for what to deploy.

```
php artisan deploy:server "My Server"

```

#### Using `.deployignore` to Ignore Files

[](#using-deployignore-to-ignore-files)

There are times when you don't want specific files to be deployed, such as the `node_modules` directory used in plugins and themes. This is possible by creating a `.deployignore` file in the base directory of your plugin or theme. This file behaves the same as `.gitignore` file where you can configure Git to [ignore files you don't want to check in](https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files).

The following `.deployignore` file will exclude the **node\_modules** directory. This is also the default contents if no file exists.

```
node_modules/

```

The file must be located at the base directory of the theme or plugin. For example:

- **themes/demo/.deployignore**
- **plugins/acme/demo/.deployignore**

### License

[](#license)

This plugin is an official extension of the October CMS platform and is free to use if you have a platform license. See [EULA license](LICENSE.md) for more details.

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance88

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 63.6% 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 ~76 days

Recently: every ~6 days

Total

24

Last Release

49d ago

Major Versions

v1.1.1 → v2.0.12021-11-21

v2.2.0 → v3.0.02025-06-17

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/106532?v=4)[october](/maintainers/october)[@october](https://github.com/october)

---

Top Contributors

[![daftspunk](https://avatars.githubusercontent.com/u/1392869?v=4)](https://github.com/daftspunk "daftspunk (84 commits)")[![octoberapp](https://avatars.githubusercontent.com/u/6543374?v=4)](https://github.com/octoberapp "octoberapp (15 commits)")[![samgeorges](https://avatars.githubusercontent.com/u/4927493?v=4)](https://github.com/samgeorges "samgeorges (14 commits)")[![atellier2](https://avatars.githubusercontent.com/u/10942114?v=4)](https://github.com/atellier2 "atellier2 (5 commits)")[![mediaclinic](https://avatars.githubusercontent.com/u/1957049?v=4)](https://github.com/mediaclinic "mediaclinic (5 commits)")[![Ladylain](https://avatars.githubusercontent.com/u/5721178?v=4)](https://github.com/Ladylain "Ladylain (1 commits)")[![Samuell1](https://avatars.githubusercontent.com/u/3110002?v=4)](https://github.com/Samuell1 "Samuell1 (1 commits)")[![tdcjohrclaessens](https://avatars.githubusercontent.com/u/88581199?v=4)](https://github.com/tdcjohrclaessens "tdcjohrclaessens (1 commits)")[![alpenspace](https://avatars.githubusercontent.com/u/64611226?v=4)](https://github.com/alpenspace "alpenspace (1 commits)")[![ZhiweiWu0425](https://avatars.githubusercontent.com/u/89636889?v=4)](https://github.com/ZhiweiWu0425 "ZhiweiWu0425 (1 commits)")[![FlusherDock1](https://avatars.githubusercontent.com/u/20070837?v=4)](https://github.com/FlusherDock1 "FlusherDock1 (1 commits)")[![gergo85](https://avatars.githubusercontent.com/u/2959112?v=4)](https://github.com/gergo85 "gergo85 (1 commits)")[![jan-vince](https://avatars.githubusercontent.com/u/1104383?v=4)](https://github.com/jan-vince "jan-vince (1 commits)")[![juanmarin97](https://avatars.githubusercontent.com/u/8534968?v=4)](https://github.com/juanmarin97 "juanmarin97 (1 commits)")

### Embed Badge

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

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

PHPackages © 2026

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