A simple way to deploy your application to a remote location.
- October CMS 2.1.20 or above
- PHP openssl extension
- PHP eval function
Why is This Plugin Needed?
This plugin helps in cases where your remote server (production, staging, etc) does not have the ability to run the standard deployment workflow, either due to lack of computational resources or lack of service by the hosting provider. An example of this is shared hosting, where shell access is limited or composer does not have enough memory to execute.
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.
- Install or upgrade to October CMS v2 locally on your machine
- Deploy the Beacon files to the v1 site you want to upgrade
- 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.
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.
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.
Control Panel Setup
After installing this plugin, navigate to the Settings > Deploy in your October CMS control panel and click Create Server.
- Enter the web address for your site (eg: https://mycpanelwebsite.tld/)
- Generate a new RSA private key, or enter an existing one to set up an existing server
- Download the Beacon ZIP files
In your Beacon ZIP file, you should notice the following files:
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.
?debug=1to the end of the URL in the backend.
- Click Check beacon.
- 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.
.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.
.deployignore file will exclude the node_modules directory:
The file must be located at the base directory of the theme or plugin. For example:
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
What I would like to see is a version control for themes. But overall it is great.
Nico Van den Winckel
Found the plugin not useful on 26 Jan, 2023
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!
Jubel Jaison Thomas
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!
Adds ability to deploy local media files
Aug 09, 2023
Fixes dark mode support in October v3
May 09, 2023
Fixes whisper messages displayed in console output
Jan 22, 2023
Fixes untranslated update message
Oct 27, 2022
Fixes unescaped values for database credentials
Sep 07, 2022
Adds support for app directory deployment
May 14, 2022
Improve support with October v3
May 13, 2022
Improve support with October v3
Apr 27, 2022
Support with October v3
Feb 01, 2022
Fixes support for 32-bit systems
Nov 24, 2021
Rewrite beacon interface
Nov 21, 2021
Adds support for ignoring files in deployments
Nov 15, 2021
Transmit payload using POST instead of GET
Nov 15, 2021
Server will now take build number from parent installation
Aug 11, 2021
Improve error messages
Jun 08, 2021
Minor fix for PHP 7.2 support
Jun 04, 2021
First version of Deploy plugin
Jun 03, 2021