viezel / dock
Docker for Laravel Development
Installs: 168
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Language:Shell
Requires
- php: ^7.4|^8.0|^8.1|^8.2
- illuminate/contracts: ^8.0|^9.0
- illuminate/support: ^8.0|^9.0
README
Local development based on Docker for Laravel.
This setup includes:
- Nginx (latest)
- PHP 8.1
- MySQL 8.0
- Redis Caching
- Redis Queue
- Mailhog (local mail development)
- Xdebug
- Node, npm, npx and yarn. Use
dock npm
etc. - Laravel Dusk E2E browser testing. Use
dock dusk
Installation
Prepares docker compose and your .env file for docker based development
composer require viezel/dock --dev php artisan dock:install dock start
Use dock stop
to stop the development server.
Create a testing database
If you want to have a MySQL testing database, just run:
dock testdb
Customize Your Docker Setup
If you want to customize the docker setup, then run:
php artisan dock:publish
Commands
Running dock
will give the list of commands.
Docker commands: * build building containers * install install the app for the first time * up start containers * start start containers * down stop containers * stop stop containers * reset resetting containers. Careful - you are deleting everything * remove removing containers. Careful - you are deleting everything * logs view logs from PHP and Nginx. Use '--follow' to tail it * logs-mysql view logs from MySQL. Use '--follow' to tail it * logs-queue view logs from the queue. Use '--follow' to tail it * logs-redis view logs from Redis. Use '--follow' to tail it * testdb create a MySQL test database ------ Laravel commands: * ssh SSH into laravel * ssh-mysql SSH into mysql * dusk run dusk tests. 'dock dusk' or append: 'dock dusk --group=foo' * dusk-fails run dusk failing tests * c run composer commands. 'dock c dump-autoload' * composer run composer commands. 'dock composer dump-autoload' * art run artisan commands. 'dock art view:clear' * artisan run artisan commands. * tinker run tinker * worker start a new queue worker * cc clear cache * rl route list. 'dock rl --path=api/foo/bar' * migrate migrate the app * redis start redis cli * expose share site via Expose ------ JS commands: * node run node commands * npm run npm commands * npx run npx commands * yarn run yarn commands
Credits
Credits to Chris Fidao for creating Vessel and Taylor Otwell for Sail.
License
The MIT License (MIT). Please see License File for more information.