MilesWuCode/laravel-docker

★ 0Forks 0PHPGitHub ↗Compare

README

Laravel Docker - PHP-CLI / PHP-FPM

This project's is heavily inspired by smortexa's work and laravel-octane-dockerfile contributors

Reference: laravel-octane-dockerfile

Feature

  • PHP-CLI / PHP-FPM
  • Scheduler
  • Queue

Install

  • Laravel Horizon
  • Redis

Config

envs/local.env

QUEUE_CONNECTION=redis
REDIS_HOST=redis

Redis & Mailpit

# 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

Run

# 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.sh

Test

Queue : 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]');
});

Contributors

MilesWuCode

Issues