Universal laravel docker skeleton
Introduction
Requirements
- Host OS β Win/Linux/UNIX/Mac
- Docker
π³ Docker containers
php
β php:7.4.15-fpm | Laravel 8.x.xlaravel-echo-server
β node:15-alpine + laravel-echo-servernginx
β nginx:1.19.6-alpinepostgres
β postgres:13.2-alpinememcached
β memcached:1.6.9-alpineredis
β redis:6.0.10-alpinemongodb
β mongo:4.4.3adminer
β adminer:latestrabbitmq
β rabbitmq:3.8.11-management-alpineroadrunner
β php:8.0.2-cli & spiral/roadrunner v1.9.2clickhouse-server
β yandex/clickhouse-server 20.8.12.2
Features
- Laravel 8
- Vue + VueRouter + Vuex + VueI18n + ESlint
- Pages with dynamic import and custom layouts
- Login, register, email verification and password reset
- Authentication with JWT
- Socialite integration support drivers: github, google, facebook, telegram, vkontakte, twitter, gitlab, zalo, bitbucket, yandex
- Element UI for backend
- Universal api facade
- Helper DebugService
- Telegram webhook support
- Helper OpcacheService
Installation
git clone <this repo>
make build
make install
Quick setup for local develop
-
set
./docker-containers/app/opcache.ini
values*enabled*
to0
and save file. -
php -d memory_limit=-1 /usr/local/bin/composer install
Commands
Maintenance mode
php artisan up
php artisan down
Clear OPcache:
php artisan opcache:clear
Show OPcache config:
php artisan opcache:config
Show OPcache status:
php artisan opcache:status
Pre-compile your application code:
php artisan opcache:compile {--force}
Note: opcache.dups_fix
must be enabled, or use the --force
flag.
If you run into "Cannot redeclare class" errors, enable opcache.dups_fix
or add the class path to the exclude list.
Easily increment your version numbers, using Artisan commands
php artisan version:major
php artisan version:minor
php artisan version:patch
php artisan version:commit
php artisan version:timestamp
Perf
phpstan analyse:
./linter.sh
./phpstan.sh
Dependencies
Contribute
Please do contribute! Issues and pull requests are welcome.
Thank you for your help to improving software one changelog at a time!
License
MIT License (MIT). Please see LICENSE
for more information. Maintained by IsaevDimka.