77140864ef
在工单工作台对话页为当前工单用户增加“查看用户” 和“用户订单”入口,支持直接跳转到用户管理与订单管理 用户管理页新增 `user_id/user_email` 路由作用域, 进入后按用户 ID 精准筛选,并支持在重置筛选时清除 该作用域 同步更新 admin-frontend 模块文档、变更归档与测试环境 compose 配置
Xboard 服务器部署模板
这个目录是一套可复制到服务器的 Compose 部署模板,拓扑对齐当前生产用法:
web: Laravel Octane HTTP 服务,默认发布宿主机7001horizon: 队列进程scheduler: Laravel Scheduler,负责持续触发sync:server-gfw-checks等定时任务admin: 独立管理端前端容器,默认发布宿主机7002ws-server: 节点 WebSocket 服务,默认发布宿主机8076redis: 通过redis-data卷提供/data/redis.sock
模板默认不包含 MySQL。数据库继续使用宿主机、面板或云数据库中的外部 MySQL。
首次部署
服务器需要已安装 Docker,并支持 docker compose 命令。
cd xboard-server
sh ./scripts/init.sh
vi .env
sh ./scripts/deploy.sh
.env 至少需要检查这些项:
APP_URL: 对外访问域名,例如https://example.comAPP_KEY: 新安装可留空后通过xboard:install生成;已安装实例必须填原来的值DB_HOST / DB_PORT / DB_DATABASE / DB_USERNAME / DB_PASSWORD: 外部 MySQL 连接MAIL_*: 邮件发送配置WEB_PORT / ADMIN_PORT / WS_PORT: 宿主机端口,和现有服务冲突时修改XBOARD_UPLOAD_UPSTREAM: 管理端图片上传反向代理目标
初始化或迁移数据库
全新安装时,先确认 .env 里的数据库指向正确,再执行交互式安装:
docker compose exec web php artisan xboard:install
已有数据库升级时,不要重新执行安装命令。需要迁移时执行:
docker compose exec -T web php artisan migrate --force
项目自带更新命令也会执行迁移、默认插件检查和缓存刷新:
docker compose exec -T web php artisan xboard:update
启动与更新
启动或重新拉起服务:
docker compose up -d
更新镜像并执行项目更新流程:
sh ./scripts/update.sh
该脚本在交互终端中的等价命令:
docker compose pull
docker compose run -it --rm web php artisan xboard:update
docker compose up -d
查看服务状态:
docker compose ps
查看日志:
docker compose logs -f web
docker compose logs -f horizon
docker compose logs -f scheduler
docker compose logs -f ws-server
docker compose logs -f admin
Scheduler 检查
自动墙检测依赖 scheduler 容器持续运行。该容器执行 php artisan schedule:work。节点开启墙检测托管后,sync:server-gfw-checks 默认每 30 分钟由 Laravel Scheduler 创建检测任务。
常用检查命令:
docker compose ps scheduler
docker compose logs -f scheduler
docker compose exec -T web php artisan schedule:list
手动触发一次墙检测同步:
docker compose exec -T web php artisan sync:server-gfw-checks
如果节点页一直显示“未检测”或“等待节点领取”,优先检查:
scheduler是否在线php artisan schedule:list是否能列出sync:server-gfw-checksws-server是否在线,节点端是否已连接- 节点是否是父节点;子节点不会单独创建检测任务
- 目标节点是否开启了墙检测托管
管理端代理
admin 容器通过环境变量把管理端请求代理到后端:
XBOARD_BACKEND_UPSTREAM=http://web:7001
XBOARD_UPLOAD_UPSTREAM=https://pic.535888.xyz
在默认 Compose 网络内,http://web:7001 是后端服务地址,不需要改成宿主机 IP。只有上传服务需要按你的实际图片上传入口调整。
目录说明
.env: 服务器真实配置,不应提交到仓库.docker/.data/: Xboard 容器运行时数据storage/logs/: Laravel 日志storage/theme/: 主题资源plugins/: 插件目录redis-data: Docker 命名卷,保存 Redis socket 和持久化数据