A simple and conveniant command line to manage devilbox from anywhere
You need Devilbox to be installed somewhere on your computer.
By default, the script will use the path $HOME/.devilbox.
If you have cloned devilbox somewhere else, add the following to your profile and change ##PATH_TO_DEVILBOX## accordingly:
export DEVILBOX_PATH="$HOME/##PATH_TO_DEVILBOX##"Then reload your terminal or run source ~/.zshrc if you use zsh.
As simple as :
npm install -g devilbox-cli
If installed successfully, you should see something like this when you run devilbox -v:
devilbox-cli v0.4.1 (2020-12-06)
A simple and conveniant cli to manage devilbox from anywhere
https://github.com/louisgab/devilbox-cliIf you don't have npm or don't wan to use it, you can also download the script directly:
curl -O https://raw.githubusercontent.com/louisgab/devilbox-cli/master/dist/devilbox-cli.sh
chmod +x devilbox-cli.sh
sudo mv devilbox-cli.sh /usr/local/bin/devilboxThis way you can call the script from anywhere, but you won't be able to download updates (that was the point of using npm). For a manual update, delete it first
sudo rm /usr/local/bin/devilboxThen re-download the script.
devilbox-cli provides all basic command to manage your installation:
devilbox check   # Check your .env
devilbox config  # Get and set variables on your .env
devilbox enter   # Enter the php container with shell.sh script
devilbox exec    # Execute a command in the container
devilbox mysql   # Execute a command in the container
devilbox open    # Open the devilbox intranet
devilbox run     # Start the containers
devilbox stop    # Stop all containers
devilbox restart # Stop and rerun all containers
devilbox update  # Update to latest devilbox versionTo see containers current versions defined in devilbox .env file, use the config command:
devilbox config --apache --php --mysql
# [!] Apache current version is 2.4
# [!] PHP current version is 7.2
# [!] MySql current version is 5.6It can also list available versions of any container:
devilbox config --mysql=*
# [!] MySql available versions:
# 5.5
# 5.6
# 5.7
# 8.0And of course, it can change any version:
devilbox config --php=8.0
# [✔] PHP version updated to 8.0You can also point devilbox to your projects folder:
devilbox config --www=../Documents/Projects/www
# [✔] Projects path config updated to ../Documents/Projects/wwwwAnd if you dont remember a command, devilbox help is your best friend :)
By default, the run command will start the default LAMP stack containers php httpd mysql. The command can be customized by configuring your desired services via the $DEVILBOX_CONTAINERS variable. For example, if you'd like to also run the NOSQL stack, you would define the following:
export DEVILBOX_CONTAINERS="php httpd mysql redis memcd mongo"Then reload your terminal or run source ~/.zshrc if you use zsh.
The script was tested on zsh and bash on linux. Use at your own risk on other platforms.
Highly welcomed! The script only implements the basics I needed for myself (LAMP). It may be useful for others to add missing commands, test it on macOS and Windows, and test in on other shells.