30

Product support

Visit this product's website for support.

  • Added on Jun 4, 2021
  • Current version: 3.3.2
  • Platform Compatibility
    v4.x use latest
    v3.x 2.2
    v2.x 2.2
    v1.x incompatible
  • Created by
  • Public repository

Categories

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

Requirements

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

Installation

php artisan plugin:install rainlab.deploy

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

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

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.

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 for more details.

Installation via Command Line

php artisan plugin:install RainLab.Deploy

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

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

  1. Enter the web address for your site (eg: https://mycpanelwebsite.tld/)
  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

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

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

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

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

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

php artisan deploy:list

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

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

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

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.

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
  • Found the plugin useful on 23 Apr, 2025

    Works great; perfect light-weight alternative to Deployer.org

  • Found the plugin not useful on 22 Aug, 2023

    I'm getting an error saying in the Beacon file... Failed to download there was a problem, please try again or try again later

  • Found the plugin useful on 19 Jul, 2023

    Great plugin!

    What I would like to see is a version control for themes. But overall it is great.

  • Found the plugin not useful on 26 Jan, 2023

    I can't seem to get this one working. It would be great if it worked. When adding a server on my local machine and I try to generate a key, I get this javascript error:

    ReferenceError: forge is not defined
        at generatePrivateKeyFromForge (servers.js?v90eb1dff:9:5)

    If I generate my own key and paste it in, I get an other error

    Could not validate private key: 'error:0909006C:PEM routines:get_name:no start line'

  • Found the plugin useful on 24 Jan, 2023

    Its a cool feature to install octobercms remotely, but i'll be nice to have an option to deploy database data, for example, when theme files are stored in DB instead of filesystem

  • Found the plugin not useful on 7 Jun, 2022

    Unable to connect to beacon! Beacon files are deployed correctly!

  • Found the plugin useful on 21 Jan, 2022

    For anybody struggling while debugging, I was trying to add ?debug=1 to the server url. Instead you need to add ?debug=1 to the backend url form where you are running the builder plugin.

  • Found the plugin not useful on 22 Dec, 2021

    Unable to connect beacon. I am using godaddy shared hosting and my beacon is unreachable. Files are hosted correctly.

  • Found the plugin useful on 11 Jul, 2021

    This plugin is just amazing! Perfect! Well done!

  • Found the plugin useful on 10 Jun, 2021

    Very good and usefull plugin, works like a charm!

  • Found the plugin useful on 9 Jun, 2021

    Good job, works great!

3.3.2

Fixes error message not displaying with Larajax format

Mar 20, 2026

3.3.1

Compatibility with October CMS v4.2

Mar 20, 2026

3.3.0

Adds CLI commands for deploy plugin (deploy:server, deploy:build, deploy:test, deploy:list)

Mar 15, 2026

3.2.0

Fixes support with OpenSSL 3

Mar 08, 2026

3.1.1

Fixes hard coded media path

Mar 04, 2026

3.1.0

Fixes compatibility with Laravel 12 (beacon redeploy needed)

Jan 06, 2026

3.0.1

Minor updates to the Beacon files

Nov 01, 2025

3.0.0

Compatibility with October CMS v4

Jun 17, 2025

2.2.0

Adds ability to deploy local media files

Aug 09, 2023

2.1.5

Fixes dark mode support in October v3

May 09, 2023

2.1.4

Fixes whisper messages displayed in console output

Jan 22, 2023

2.1.3

Fixes untranslated update message

Oct 27, 2022

2.1.2

Fixes unescaped values for database credentials

Sep 07, 2022

2.1.1

Adds support for app directory deployment

May 14, 2022

2.1.0

Improve support with October v3

May 13, 2022

2.0.4

Improve support with October v3

Apr 27, 2022

2.0.3

Support with October v3

Feb 01, 2022

2.0.2

Fixes support for 32-bit systems

Nov 24, 2021

2.0.1

Rewrite beacon interface

Nov 21, 2021

1.1.1

Adds support for ignoring files in deployments

Nov 15, 2021

1.1.0

Transmit payload using POST instead of GET

Nov 15, 2021

1.0.4

Server will now take build number from parent installation

Aug 11, 2021

1.0.3

Improve error messages

Jun 08, 2021

1.0.2

Minor fix for PHP 7.2 support

Jun 04, 2021

1.0.1

First version of Deploy plugin

Jun 03, 2021