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

41
docker/queue-health-check.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# 队列处理器健康检查脚本
# 用于Docker健康检查
set -e
# 检查队列进程是否运行
if ! pgrep -f "queue:work" > /dev/null; then
echo "队列处理器进程未运行"
exit 1
fi
# 检查Laravel应用是否可以连接到数据库和Redis
if ! php -r "
try {
require_once '/var/www/html/vendor/autoload.php';
\$app = require_once '/var/www/html/bootstrap/app.php';
\$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
// 检查数据库连接
\Illuminate\Support\Facades\DB::connection()->getPdo();
// 检查Redis连接
if (config('cache.default') === 'redis') {
\Illuminate\Support\Facades\Cache::store('redis')->put('queue_health_check', 'ok', 10);
\Illuminate\Support\Facades\Cache::store('redis')->forget('queue_health_check');
}
echo 'OK';
} catch (Exception \$e) {
echo 'ERROR: ' . \$e->getMessage();
exit(1);
}
"; then
echo "队列处理器依赖服务检查失败"
exit 1
fi
echo "队列处理器健康检查通过"
exit 0