feat: 新增 Docker 部署支持、Swoole/Octane 集成及相关优化

- 添加 Dockerfile 与多套 docker-compose 配置(开发/生产环境)
- 集成 Laravel Octane (Swoole) 提升性能
- 新增健康检查、监控脚本及部署文档
- 新增 Docker 镜像离线导入包(MySQL/Redis/Meilisearch)
- 优化文档转换、预览服务及队列任务
- 添加 CreateAdminUser 命令与路由健康检查接口
- 新增 Swoole 队列兼容性测试套件

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 15:51:19 +08:00
parent acf549c43c
commit 3c206e9e06
90 changed files with 12731 additions and 1255 deletions

View File

@@ -10,6 +10,7 @@
"filament/filament": "^3.0",
"http-interop/http-factory-guzzle": "^1.2",
"laravel/framework": "^12.0",
"laravel/octane": "^2.13",
"laravel/scout": "^10.22",
"laravel/tinker": "^2.10.1",
"league/commonmark": "^2.8",
@@ -50,7 +51,29 @@
],
"dev": [
"Composer\\Config::disableProcessTimeout",
"npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --queue=documents,default --tries=3 --timeout=300\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite --kill-others"
"npx concurrently -c \"#93c5fd,#c4b5fd,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --queue=documents,default --tries=3 --timeout=300\" \"npm run dev\" --names=server,queue,vite --kill-others"
],
"dev-octane": [
"Composer\\Config::disableProcessTimeout",
"npx concurrently -c \"#93c5fd,#c4b5fd,#fdba74\" \"php artisan octane:start --watch\" \"php artisan queue:listen --queue=documents,default --tries=3 --timeout=300\" \"npm run dev\" --names=octane,queue,vite --kill-others"
],
"octane:start": [
"@php artisan octane:start"
],
"octane:stop": [
"@php artisan octane:stop"
],
"octane:restart": [
"@php artisan octane:restart"
],
"octane:reload": [
"@php artisan octane:reload"
],
"swoole:start": [
"@php artisan octane:start --server=swoole"
],
"swoole:watch": [
"@php artisan octane:start --server=swoole --watch"
],
"test": [
"@php artisan config:clear --ansi",
@@ -88,7 +111,11 @@
"allow-plugins": {
"pestphp/pest-plugin": true,
"php-http/discovery": true
}
},
"platform": {
"php": "8.2.30"
},
"platform-check": false
},
"minimum-stability": "stable",
"prefer-stable": true