A delightful CLI for Docker based Laravel developer environments and the cloud
Motivation
There are two main goals for this project:
- Provide fully containerized developer environments for building Laravel applications
- Adhere to the concept of development/production parity by ensuring that development environments are as close as possible to their production counterpart and can easily be deployed.
Fully Containerized
Every component in a Laravel Up project is containerized, including the PHP runtime itself. This means that there is actually no requirement to have PHP installed on your developer machine.
All the tools you would expect to have are included inside of the Laravel Up CLI. This includes PHP, Artisan, Composer and Tinker.
Dev Prod Parity
Laravel Up creates a Web Server container based on NGINX and an App Container based on PHP FPM 7.3.
Unlike other tools in the ecosystem like Laradock and Vessel, the container images created for you aim to be easily configurable and suitable for actual deployments to containerized environments including Kubernetes AWS ECS and Azure Container Instances.
Features
CLI
Usage
$ npm install -g @golevelup/laravel-cli
$ lvl COMMAND
running command...
$ lvl (-v|--version|version)
@golevelup/laravel-cli/0.5.5 linux-x64 node-v12.16.1
$ lvl --help [COMMAND]
USAGE
$ lvl COMMAND
...
Commands
lvl art [COMMAND]
Runs an artisan command in the current directory
USAGE
$ lvl art [COMMAND]
ARGUMENTS
COMMAND The command to pass to artisan. Omit this to see available commands
OPTIONS
-h, --command-help Passes --help to the underlying artisan command
See code: src/commands/art.ts
lvl artisan [COMMAND]
Runs an artisan command in the current directory
USAGE
$ lvl artisan [COMMAND]
ARGUMENTS
COMMAND The command to pass to artisan. Omit this to see available commands
OPTIONS
-h, --command-help Passes --help to the underlying artisan command
See code: src/commands/artisan.ts
lvl command-base
USAGE
$ lvl command-base
See code: src/commands/command-base.ts
lvl composer [COMMAND]
Executes a Composer command in the current directory
USAGE
$ lvl composer [COMMAND]
ARGUMENTS
COMMAND The command to pass to composer. Omit this to see available commands
OPTIONS
-h, --command-help Passes --help to the underlying composer command
See code: src/commands/composer.ts
lvl configure [DIRECTORY]
Configures an existing vanilla Laravel app as an Up project
USAGE
$ lvl configure [DIRECTORY]
ARGUMENTS
DIRECTORY The target directory for Laravel Up
OPTIONS
-h, --help show CLI help
See code: src/commands/configure.ts
lvl down [DIRECTORY]
Stops a running Laravel Up environment
USAGE
$ lvl down [DIRECTORY]
ARGUMENTS
DIRECTORY The target directory for Laravel Up
OPTIONS
-d, --destroy Stops Docker containers and removes all volumes
-v, --verbose Include additional diagnostic logs
See code: src/commands/down.ts
lvl help [COMMAND]
display help for lvl
USAGE
$ lvl help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
lvl new
Creates a new Laravel Up project
USAGE
$ lvl new
OPTIONS
-v, --verbose Include additional diagnostic logs
See code: src/commands/new.ts
lvl target-directory-command
USAGE
$ lvl target-directory-command
See code: src/commands/target-directory-command.ts
lvl up [DIRECTORY]
Starts a Laravel Up environment
USAGE
$ lvl up [DIRECTORY]
ARGUMENTS
DIRECTORY The target directory for Laravel Up
OPTIONS
-v, --verbose Include additional diagnostic logs
See code: src/commands/up.ts