Skip to content

Powerful yet simple Docker environments for Laravel built on Best Practices for both Dev and Production ⬆️

Notifications You must be signed in to change notification settings

DanJFletcher/laravel-cli

 
 

Repository files navigation

A delightful CLI for Docker based Laravel developer environments and the cloud

oclif Version Downloads/week License

Motivation

There are two main goals for this project:

  1. Provide fully containerized developer environments for building Laravel applications
  2. 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

  • Cross platform support. Works on Windows, Linux and Mac
  • Simple Docker containers that are easily configurable and suitable for deployment
  • Automatically configures XDebug
  • Supports MySQL and Postgres environments
  • Automatically configures Laravel ENV to connect to services in the Docker network

CLI

Usage

$ npm install -g @badassery/laravel-up
$ lvl COMMAND
running command...
$ lvl (-v|--version|version)
@badassery/laravel-up/0.5.1 linux-x64 node-v10.15.3
$ lvl --help [COMMAND]
USAGE
  $ lvl COMMAND
...

Commands

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

About

Powerful yet simple Docker environments for Laravel built on Best Practices for both Dev and Production ⬆️

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 73.3%
  • TypeScript 22.7%
  • HTML 2.5%
  • Dockerfile 1.3%
  • Other 0.2%