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

Overview

Deploy Plugin

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

Currently in Active Development

This plugin is incomplete. This plugin is not ready for use. Please do not contact us about this. Please wait for the first release. Thanks

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

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.

  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 777 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.

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.

Comments
  • Unable to connect beacon

    Unable to connect beacon

    I have Godaddy Shared hosting. Uploaded the files on server. I am able to reach the link via browser. But in backend it still shows unable to connect beacon. Tried everything possible, but could not figure out the cause.

    opened by pivisions 7
  • Update Failed - 500 Internal Server Error

    Update Failed - 500 Internal Server Error

    Hi,

    Is there any way to debug a "500 Internal Server Error" error? It shows right after "Deploying Core Archive". There is an arc file in storage/temp: ocb-xxxxx.arc

    When I unzip the arc file, the files have the wrong file permissions:

    • files: 666
    • directories: 777

    I guess that causes the 500 error.

    opened by mlieshout 6
  • A valid response from a beacon was not found

    A valid response from a beacon was not found

    Hi folks, I'm trying to make this plugin working on my localhost with deployment to test server on shared hosting, but I'm getting this error during "Deploy Vendor Archive" phase

    Update Failed
    A valid response from a beacon was not found. Add ?debug=1 to your URL, try again and check the logs (Code: 0)
    

    First I got it few times during Installation of OctoberCMS to remote server. Whole invalid response looks like this (I deleted some parts - urls and local paths, because project needs to stay private for now):

    October\Rain\Network\Http Object
    (
        [url] => <deleted>
        [method] => POST
        [headers] => Array
            (
            )
        [headerCallbackFunc] =>
        [body] =>
        [rawBody] =>
        [code] => 0
        [info] => Array
            (
                [url] => <deleted>
                [content_type] =>
                [http_code] => 0
                [header_size] => 0
                [request_size] => 705
                [filetime] => -1
                [ssl_verify_result] => 0
                [redirect_count] => 0
                [total_time] => 71.703961
                [namelookup_time] => 0.00075
                [connect_time] => 0.028687
                [pretransfer_time] => 0.115696
                [size_upload] => 11723079
                [size_download] => 0
                [speed_download] => 0
                [speed_upload] => 163494
                [download_content_length] => -1
                [upload_content_length] => -1
                [starttransfer_time] => 0.115717
                [redirect_time] => 0
                [redirect_url] =>
                [primary_ip] => 37.9.175.131
                [certinfo] => Array
                    (
                    )
                [primary_port] => 443
                [local_ip] => 10.0.1.101
                [local_port] => 60496
                [http_version] => 0
                [protocol] => 2
                [ssl_verifyresult] => 0
                [scheme] => HTTPS
                [appconnect_time_us] => 115573
                [connect_time_us] => 28687
                [namelookup_time_us] => 750
                [pretransfer_time_us] => 115696
                [redirect_time_us] => 0
                [starttransfer_time_us] => 115717
                [total_time_us] => 71703961
            )
        [requestOptions] =>
        [requestData] => Array
            (
                [file] => CURLFile Object
                    (
                        [name] => <deleted>
                        [mime] =>
                        [postname] =>
                    )
                [filename] => e681426c83ca9f99226da49905ac9b7a
                [filehash] => e556fd8a50fb6bfc7d646c4e9bb6fd56
            )
        [requestHeaders] =>
        [argumentSeparator] => &
        [streamFile] =>
        [streamFilter] =>
        [maxRedirects] => 0
        [redirectCount:protected] =>
        [hasFileData:protected] => 1
    )
    

    In the middle of writing this post it suddenly started working and I succesfully installed OctoberCMS, but it's again giving this error when trying to "Deploy to Server". Again during "Deploy Vendor Archive"

    Some of my shared hosting PHP settings looks like this:

    max_execution_time
    600s
    memory_limit
    512MB
    upload_max_filesize
    256MB
    post_max_size
    256MB
    

    Do you have any idea, what can cause this?

    opened by kikobalco 5
  • Install archive can't bundle up because of empty files

    Install archive can't bundle up because of empty files

    After succesfully installing beacon my deployment ready to be sent to remote server and install fresh october.

    But on step of building archive there is error: "file_put_contents(D:\laragon\www\october\storage\temp\60acd51bc6ce8): failed to open stream: No such file or directory" on line 133 of D:\laragon\www\october\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php

    gist: https://gist.github.com/FlusherDock1/58405befd8906d62bd54f66ce063db97

    I found that this section has empty 'files' array, and it tries to create empty file with empty name.

    // Build files
    $files = $options['files'] ?? [];
    foreach ($files as $filename => $contents) {
        file_put_contents($tmpPath . '/' . $filename, $contents);
    }
    
    opened by FlusherDock1 5
  • Deploy Installation, Error at Migration step

    Deploy Installation, Error at Migration step

    Hello!

    I can't install october on production environment usind deploy plugin. Beacon created, uploaded, found in my local october backend, when i click Install October CMS... 2021-09-06 02_53_47-Manage Server _ October CMS — Mozilla Firefox

    after review setting 2021-09-06 02_54_46-Manage Server _ October CMS — Mozilla Firefox

    installation process goes trough many steps, but when "Migration" text shows up for a while, immediatelly comes error notification: obraz

    "Try Again" won't go untill i delete 3 tables created during installation: obraz

    but after all, same error shows up. I don't have possibility to install via composer on my server, that's why i've decided to go with deploy plugin.

    I found many situations with same error, the solution was to change encoding in conf/database.php, but i haven't this possibility before installation.

    please help me to find a solution or give possibility to change encoding during installation process for a try, maybe that would come and go? :/

    opened by pgarnek 4
  • Can't deploy because of deleted plugins from the marketplace

    Can't deploy because of deleted plugins from the marketplace

    My project used to use a plugins available from the marketplace (Synder.Analytics) The author seems to have remove it and is causing some issue for the deploy plugin. Even though I removed the plugins from my project, I also removed the plugin from my local dev and I am facing this issue while attempting to deploy on muy staging server.

    image

    opened by chrisvidal 3
  • Storage does not work after major update

    Storage does not work after major update

    I recently did a major update from october v1 to v2 with the deploy plugin.

    Most if it worked well, but the storage seems to be broken for my plugins when I try to upload images, which I attached to the 'System\Models\File'.

    It throws me a javascript error:

    GET https://dassoz.ch/storage/app/uploads/public/623/074/dea/thumb_7_190_170_0_0_crop.jpg
    [HTTP/2 404 Not Found 229ms]
    

    I'm using october version 2.2.11 and PHP 7.4

    I thought, that was because of the still active resize plugin. I removed that manually (deleted the files and the entry in the database) with no luck.

    On the local setup everything is working fine. I assume, there is a problem with the old storage folders and files on the production page.

    opened by maki3000 3
  • Beacon failing with internal server error

    Beacon failing with internal server error

    I've got a simple shared host with a local development environment with OctoberCMS installed.

    When I check the beacon it returns this PHP error: Parse error: syntax error, unexpected '?' in REDACTED/webroot/bootstrap/beacon.php on line 40

    PHP 7.4 with https

    Can anyone help please?

    opened by pashasiraja 3
  • Beacon Unreachable

    Beacon Unreachable

    I've done all steps that are necessary. Uploaded the unzipped files to server subdomain.domain.com (also tried https://subdomain.domain.com). The status of the beacon keeps unreachable.

    How to solve this?

    opened by kevinvermeulenn 3
  • Update Failed Unspecified error from beacon

    Update Failed Unspecified error from beacon

    I have a shared hosting in Siteground. I have downloaded the files in the server but I got this error.

    Versions

    octobercms = 2.1.17 deploy = 1.0.4 php = 7.4.24

    Screen Shot 2021-10-21 at 8 09 11 PM

    opened by pangeaos 3
  • Filter deployment bundles using .gitignore

    Filter deployment bundles using .gitignore

    Sending dev resources such as .git and node_modules is not necessary during deployment so they should be filtered out. This will help with the archive file size.

    opened by daftspunk 3
  • Add UI for running Artisan commands

    Add UI for running Artisan commands

    Hi, how can I change the license key with deploy? Or where can I find the correct place to edit this in my webserver files? on localhost I can use Project:set however the license key does not change with deployment.

    opened by Hessel91 4
  • Feature Request: Artisan Commands

    Feature Request: Artisan Commands

    I would like the ability to add artisan commands to the mix. These would make it so we can deploy via cli (and also deploy via git hooks, github, gitlab, etc).

    Would be nice to see.

    enhancement 
    opened by artistro08 2
Releases(v2.0.1)
  • v2.0.1(Nov 21, 2021)

    In this v2.0 release of the Deploy plugin

    • The beacon script has been rewritten to take advantage of GET availability for the interface commands and POST for the larger payload size.

    • When updating to this version, your server will no longer be able to reach the old beacon, so you will need to redeploy your beacon using the latest protocol version. Just overwrite the old files.

    • We have also improved the efficiency of the beacon script to not pollute the global namespace.

    Upgrade instructions

    To upgrade to the latest version, simply run the install command again:

    php artisan plugin:install rainlab.deploy
    

    Once updated, you will need to redeploy the beacon script. When viewing a server, click the "Check Beacon" link and you should notice it says "Unreachable". From here, Download the Beacon files and upload them again to your server.

    Source code(tar.gz)
    Source code(zip)
Owner
The Rain Lab
The Rain Lab
PHP transpiler - Write and deploy modern PHP 8 code, today.

Phabel Write and deploy modern PHP 8 code, today. This is a transpiler that allows native usage of PHP 8+ features and especially syntax in projects a

Phabel 219 Oct 4, 2022
Send your projects up in the clouds

Rocketeer is unfortunately not maintained anymore and this repository is archived I recommend to pivot to Deployer and/or CD pipelines The Gitter chat

Rocketeer 2.7k Nov 25, 2022
This is a Location Registration For location registration

location-registration-system This is a Location Registration location-registration-system for users registration location if your location verifide Wi

masoudharooni 9 Feb 10, 2022
Validate your input data in a simple way, an easy way and right way. no framework required. For simple or large. project.

wepesi_validation this module will help to do your own input validation from http request POST or GET. INTEGRATION The integration is the simple thing

Boss 2 May 3, 2022
DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location

DomainMOD is an open source application written in PHP & MySQL used to manage your domains and other internet assets in a central location. DomainMOD also includes a Data Warehouse framework that allows you to import your web server data so that you can view, export, and report on your live data.

DomainMOD 345 Dec 2, 2022
Deploy and execute non-PHP AWS Lambda functions from your Laravel application.

Sidecar for Laravel Deploy and execute non-PHP AWS Lambda functions from your Laravel application. Read the full docs at hammerstone.dev/sidecar/docs.

Hammerstone 612 Nov 26, 2022
Hachkathon DevOps - Deploy application with docker container

Hackathon-Semesta-DevOps Nama : Islam Nurul Yakin Mail : [email protected] Sebuah Web Server menggunakan Nginx, PHP, dan MySQl di tambah dengan p

Islam Nurul Yakin 3 Jul 14, 2022
A simple script i made that generate a valid http(s) proxy in json format with its geo-location info

Gev Proxy Generator GPG is a simple PHP script that generate a proxy using free services on the web, the proxy is HTTP(s) and it generate it in json f

gev 1 Nov 15, 2021
Deploy your PHP with PHP. Inspired by Capistrano and Vlad.

Pomander A light-weight flexible deployment tool for deploying web applications. This project was inspired by Capistrano and Vlad the Deployer, as wel

Mike Kruk 202 Oct 18, 2022
Deploy your PHP code

php-deploy Deploy your PHP code, e.g. to a shared hosting. The only requirement on the deployment destination server is PHP and the ZIP extension. Usa

Simon Hatt 0 Jan 8, 2022
DataLoaderPhp is a generic utility to be used as part of your application's data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching.

DataLoaderPHP is a generic utility to be used as part of your application's data fetching layer to provide a simplified and consistent API over various remote data sources such as databases or web services via batching and caching.

Webedia - Overblog 185 Nov 3, 2022
Determine the geographical location of website visitors based on their IP addresses.

GeoIP for Laravel Determine the geographical location and currency of website visitors based on their IP addresses. GeoIP for Laravel on Packagist Geo

Daniel Stainback 1.9k Dec 1, 2022
get nearby location by coordinate from eloquent laravel

LARAVEL-COORDINATE get nearby location data from database with eloquent laravel Installation composer require bagusindrayana/laravel-coordinate In M

Bagus Indrayana 26 Sep 9, 2022
PHP library for determining the physical location of binaries

Bin Locator Library for searching binary files in the operating system. Requirements PHP >= 7.4 Installation Library is available as composer reposito

PHP FFI 8 Jul 27, 2022
A Laravel (php) package to interface with the geo-location services at geonames.org.

geonames v7.x A Laravel (php) package to interface with the geo-location services at geonames.org. Major Version Jump I jumped several major versions

Michael Drennen 81 Nov 21, 2022
Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location.

Server Manager Are you sick of having to log into hundreads of different website just to access your server? Well we got you, Server manager is a open

null 8 Aug 9, 2022
Ip2region is a offline IP location library with accuracy rate of 99.9% and 0.0x millseconds searching performance. DB file is ONLY a few megabytes with all IP address stored. binding for Java,PHP,C,Python,Nodejs,Golang,C#,lua. Binary,B-tree,Memory searching algorithm

Ip2region是什么? ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nodejs,golang,c#等查询绑定和Binary,B树,内存三种查询算法。 Ip2region特性

Lion 12.5k Nov 27, 2022
Determine the geographical location of website visitors based on their IP addresses.

Determine the geographical location and currency of website visitors based on their IP addresses.

Daniel Stainback 1.9k Dec 1, 2022