jamosaur / vali
Docker for running a Laravel application
Installs: 7 964
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^7.3|^8.0
- illuminate/console: ^8.0|^9.0|^10.0|^11.0
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
README
An easy way to get started with docker in your laravel installation with local https support. Heavily inspired by Laravel Sail.
Services included:
- nginx + php8.0-fpm
- mysql 8
- redis
- mailhog
Requirements
- docker
- mkcert (if you wish to use https locally)
Install
Via Composer
$ composer require jamosaur/vali $ php artisan vali:install $ ./vendor/bin/vali up
The set up wizard will ask you some questions about your requirements. Answer the questions and config will be generated for you.
The first time you run up
may take a while as it will have to download docker images, subsequent runs will be much faster.
Adding a bash alias
While not necessary, it is highly recommended to add a bash alias for vali.
By adding an alias, you can invoke vali by vali
instead of ./vendor/bin/vali
.
To do this, add into your shell config file (~/.zshrc, ~/.bashrc) the following:
alias vali='./vendor/bin/vali'
Using HTTPS
To use https locally, I recommend using mkcert to generate your certificates.
From your project directory, run the following:
vali certificates
vali will ask you for a domain name to use. It will automatically create a wildcard certificate for you.
Entering vali.test
will genereate a single certificate that works for vali.test
and also *.vali.test
Alternatively, if you'd like to create these manually:
$ mkdir certificates # We will store the certificates in this folder # For a single domain (e.g. vali.test) $ mkcert -key-file certificates/server.key -cert-file certificates/server.crt vali.test # For a wildcard $ mkcert -key-file certificates/server.key -cert-file certificates/server.crt vali.test \*.vali.test
Usage
If you plan on using https locally, it is best to read through the Using HTTPS
section above first.
Get started by running the vali:install
artisan command.
php artisan vali:install
This will create a docker-composer.yml
file in your project root. It will also create an nginx-config.conf
file inside of your config folder. You can make any changes you'd like to your nginx config here.
Available commands
help Show this output certificates Create HTTPS certificates. up Start the containers up -d Start the containers in the background down Stop all of the running containers build Build all of the containers php Run a PHP command in the container artisan Run an artisan command. e.g. vali artisan test composer Run composer in the container migrate Migrate database mfs Refresh the database and seed test Run tests via artisan tinker Launch a tinker session in the container shell Launch a bash session in the container rootshell Launch a root bash session in the container
License
The MIT License (MIT). Please see License File for more information.