rfpdl / laravel-dockerize
Laravel-specific Docker scaffolding installer with dev/local/production presets.
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/rfpdl/laravel-dockerize
Requires
- php: >=8.1
- illuminate/support: ^10.0 || ^11.0 || ^12.0
This package is auto-updated.
Last update: 2025-09-29 21:33:34 UTC
README
A Laravel-specific Docker scaffolding installer tailored for Laravel apps with production/dev/local presets.
Requirements
- Laravel 10 or 11
- PHP 8.1+
- Docker Engine and Docker Compose v2
- Node 18+ (recommended 20) for Vite
Features
- Production-ready PHP-FPM + Nginx multi-stage build.
- Dev and Local presets with hot-reload, Vite container, Xdebug toggle.
- Postgres (main + logs) and Redis with healthchecks.
- Horizon worker container for queues.
- Simple
php artisan dockerize:install
installer.
Installation
composer require --dev rfpdl/laravel-dockerize
Install as a dev dependency so it isn't shipped to production images by default. After scaffolding, you can keep the package for future updates or remove it—the generated Docker files stay in your repo.
Usage
php artisan dockerize:install --preset=all # local|dev|prod|all
php artisan dockerize:install --preset=local # hot reload + vite + xdebug
php artisan dockerize:install --preset=dev # team dev stack
php artisan dockerize:install --preset=prod # production-like
# Choose database backend (default: pgsql). Supported: pgsql | mysql | mariadb
php artisan dockerize:install --preset=local --db=pgsql
php artisan dockerize:install --preset=local --db=mysql
php artisan dockerize:install --preset=local --db=mariadb
Then:
- Merge
.env.docker.example
into your.env
. - Start:
docker compose -f docker-compose.local.yml up -d
(or dev/prod).
Highlights
- Laravel-first: artisan-aware entrypoints, migrations, caches.
- Vite container for front-end dev.
- Horizon worker baked in.
- Safer defaults, healthchecks, least-privilege settings.
- Clear presets and .env template.
Package lifecycle and updates
- The package is auto-discovered via a Service Provider, but it only registers console commands and does nothing at runtime. It’s safe to keep as a dev dependency.
- Plan: add
php artisan dockerize:update
to re-sync template changes (with a diff/confirm prompt). Until then, re-rundockerize:install --force
if you want to overwrite templates.
Roadmap
- MySQL/MariaDB optional preset.
- Sail compatibility shim (optional).
- Makefile helpers.
- Interactive installer flags.
License
MIT