Aka yet another Laravel skeleton (app).
- Laravel 5.5 and PHP 7.1
- Single command initialization
- Fully provisioned Homestead vagrant VM
- All most common dev tech and services included
- No-downtime Envoy script to immediately deploy to production
- Ready-to-go production backups using spatie/laravel-backup
- And much more!
Laravel Homestead vagrant box with:
- Elasticsearch (disabled by default)
- Elasticdump (disabled by default)
- Kibana (Elasticsearch GUI) (disabled by default)
- Minio (local S3 storage server)
- Mailhog (local mail catcher)
- Byobu (advanced tmux/screen CLI window management)
- Prestissimo (parallel composer requests)
- a complete set of custom bash aliases
- autocomplete ignores file case
- all services upgraded to their latest versions
- Bootstrap SASS
- Laravel Mix
No-downtime Envoy deploy script
Executed using Yarn commands.
- Supervisord production config template for Horizon
- Stripped all routes files in favor of routers
- Encouraged to use nwidart/laravel-modules to group your features together
- Dropbox filesystem support
How to use
Homestead.yaml in the root directory to your liking. Then update
.env so it resembles your Homestead VM configuration (think database and app URL).
Open a terminal and edit your
/etc/hosts file using
sudo nano /etc/hosts. Add the following (replace with your domain and used IP):
192.168.98.47 skeleton.example www.skeleton.example
Save and quit nano with
CTRL+X, then hit
y to confirm.
Run the init command and wait (a while). You will be automatically SSHed into the VM.
yarn run init-vm
Open your browser and navigate to https://www.skeleton.example.
Navigate to http://www.skeleton.example:8025 on your local machine.
Navigate to http://www.skeleton.example:9100 on your local machine.
Minio uses the
storage/minio/default directory as default bucket storage path.
Navigate to http://www.skeleton.example/horizon on your local machine.
- Create a module:
php artisan module:make Projects
- Add its namespace to
composer.json(both PSR-4 autoload and autoload-dev for tests)
- Add its tests directories to
- Scaffold a resource
- Register its router by adding it to the app HTTP kernel or the service provider routers array