Coder Social home page Coder Social logo

allebb / conductor Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 1.0 4.88 MB

Conductor is a CLI tool to automate the installation of a Laravel application server complete with a CLI tool (conductor) to help deploy and manage multiple web applications on the server with ease.

License: MIT License

Shell 43.86% PHP 43.15% Smarty 12.99%

conductor's People

Contributors

allebb avatar matt40k avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

codewire

conductor's Issues

Artisan tasks should use the environment switch when running tasks (use APP_ENV).

Using the configured APP_ENV from the applications _envars.json file, all conductor commands should use the environment type on the CLI when running artisan commands to ensure that migrations are ran correctly when artisan is unable to detect the environment type (more useful for L4 applications to be honest) but is a good idea to add it anyway.

No spaces allowed in FQDN

When a user executes 'conductor new {appname}', if the user enters multiple FQDN's such as 'bobbyallen.me www.bobbyallen.me' then conductor complains that it is not a valid domain name.

New installation script for Ubuntu Server 14.04 LTS

Currently the installation script is only working for Ubuntu Server 12.04 LTS, a new script should be created to enable this to be installed on the latest Ubuntu Server release (14.04 LTS) this will be slightly different as the new Ubuntu Server release now supports PHP 5.4 as part of the base repositories.

The README.md file also needs to be updated to reflect the addition of the latest installation script.

Installer does not create tmp directory

Following testing today, I found that the installer does not create the 'tmp' directory under /var/conductor/tmp of which is used for snapshot and backup processing.

Allow customisable home directory path on 'conductor new {app}' command.

Currently a user can create a new application however it always add 'public/' directory for the hosting root.

Personally as I also use this tool for hosting other sites (Wordress blogs) it would be beneficial to have it so the user is prompted for the path URL (by default it should set it to /public/) but allows the user to set '/' (base directory) instead if they wish.

Ability for Laravel 5.x applicaitons to automatically add the artisan task scheduler to the Crontab

The following code should ideally be added for Laravel 5 projects, probably best to have it added as an option that can be set following project creation (to enable adding and removing during operation).

The following code needs to be added to the servers crontab:

* * * * * php {apppath}/artisan schedule:run 1>> /dev/null 2>&1

This will ensure that any Laravel 5 applications making use of the scheduling feature will work as required.

Maybe a new command:

conductor scheduler {appname} 

Then adding two flags (-a and -d) to add or delete the scheduler CRON task as required.

Add the cgi.fix_pathinfo fix for the PHP-FPM configuration at installation.

We need to make a PHP.ini change upon installation, the 'cgi.fix_pathinfo' should be set in: like so:

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

Take down a sinlge hosted application.

Enable a way to take down a single hosted application.

Not sure whether to do this using 'php artisan down' or do some stuff with the Nginx config such as disable it.

So would assume the best command would be:

conductor stop {appname}
conductor start {appname}

Error upgrading from older version

when running sudo conductor update {project}
PHP Fatal error: Uncaught exception 'RuntimeException' with message 'Configuration file does not exsist in /etc/conductor/configs/{project}_envars.json' in /etc/conductor/bin/inc/EnvHandler.php:34
Stack trace:
#0 /etc/conductor/bin/inc/Conductor.php(532): EnvHandler->load()
#1 /etc/conductor/bin/conductor.php(31): Conductor->updateApplication()
#2 {main}

thrown in /etc/conductor/bin/inc/EnvHandler.php on line 34

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.