This project's is heavily inspired by smortexa's work and laravel-octane-dockerfile contributors
Reference: laravel-octane-dockerfile
- PHP-CLI / PHP-FPM
- Scheduler
- Queue
- Laravel Horizon
- Redis
envs/local.env
QUEUE_CONNECTION=redis
REDIS_HOST=redis# network for redis & mailpit
docker network create public-network
docker run --name redis \
-p 6379:6379 \
--network public-network \
--restart unless-stopped \
-d redis:alpine
docker run --name mailpit \
-p 1025:1025 \
-p 8025:8025 \
--network public-network \
--restart unless-stopped \
-d axllent/mailpit:latest# example sqlite
touch database/database.sqlite
cp envs/local.env .env
php artisan k:g
php artisan migrate
# need appkey
envs/local.env
# choice one
sh docker/php-cli/build.sh
sh docker/php-cli-alpine/build.sh
sh docker/php-fpm/build.sh
sh docker/php-fpm-alpine/build.shQueue : app/Jobs/TestQueueJob.php
Scheduler : routes/web.php
// send test mail use tinker
Mail::raw('This is a test mail', function ($message) {
$message->subject('Test');
$message->from('[email protected]', 'Laravel');
$message->to('[email protected]');
});