Files
wzdj/docker
..

玩值电竞App - Docker 运行与配置说明

玩值电竞 Web 已并入 website 编排:与神射手等同在 website 项目下,容器名 website-wanzhi-web,端口 3001
只使用唯一 MongoDBdatacenter_mongodb(宿主机 27017不新建 MongoDBwanzhi_esports 只存在该实例。详见卡若AI 工作台《唯一MongoDB约定.md》。

约定

  • 访问:前端/API 用 http://localhost:3001;数据库用唯一 MongoDBdatacenter_mongodb 27017库名 wanzhi_esports
  • 一律用 Docker 跑网站,不用 pnpm dev:启动、运行、部署均在神射手目录执行 docker compose up -d --build须带 --build,确保容器内是本地最新代码)。建索引/种子在项目根目录执行 bash docker/部署并运行.sh
  • 本地更新后同步到 Docker:每次改完代码/内容,要让 Docker 跑最新,须在神射手目录执行 docker compose up -d --build,否则容器内仍是旧镜像。
  • 卡若AI 回答玩值电竞部署/运行/访问时,须用卡若复盘格式回复。

一、部署与运行(仅 Web 容器,连接现有 MongoDB

推荐:从 website 编排统一启动(含神射手 + 玩值电竞),使用唯一 MongoDBdatacenter_mongodb 27017

# 若曾单独起过 wanzhi-website请先在玩值电竞App 目录执行docker compose down
# 在神射手目录执行(--build 确保用本地最新代码构建并启动)
cd "/Users/karuo/Documents/开发/2、私域银行/神射手"
docker compose up -d --build

直接使用最新推荐在玩值电竞App 根目录执行一次即可无缓存重建并启动,后台顶栏会显示本次部署时间。

pnpm docker:latest
# 或
bash docker/使用最新并启动.sh

同步本地最新到 Docker:也可在神射手目录执行 docker compose up -d --build若需在后台看到「部署xxx」确认时间请先 export BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ) 再 build。

本仓库仅建索引/种子时在项目根目录执行(连接唯一 MongoDB

MONGODB_URI=mongodb://localhost:27017 pnpm db:mongo:indexes
# 可选MONGODB_URI=mongodb://localhost:27017 pnpm db:mongo:seed
  • Docker Desktop在「Containers」中见 websitewebsite-shensheshouwebsite-wanzhi-web,无独立 MongoDB 容器。
  • 唯一 MongoDBdatacenter_mongodb27017玩值电竞库 wanzhi_esports 只存在该实例。
  • 玩值电竞网页http://localhost:3001

二、访问地址

用途 地址
前端/API所有网页 http://localhost:3001
MongoDB 唯一实例 datacenter_mongodblocalhost:27017wanzhi_esports

三、环境变量与配置

变量 说明 Docker 内
MONGODB_URI MongoDB 连接串 mongodb://host.docker.internal:27017(指向本机现有实例)
NODE_ENV 运行环境 production
  • 容器内通过 host.docker.internal:27017 访问本机 MongoDB库名 wanzhi_esports 在应用内固定。

四、常用命令

操作 命令
启动 docker compose up -d
重建并启动 docker compose up -d --build
停止 docker compose down
查看日志 docker compose logs -f web
进入 Web 容器 docker compose exec web sh
本机建索引/种子 MONGODB_URI=mongodb://localhost:27017 pnpm db:mongo:indexes / pnpm db:mongo:seed

五、API 接口一览

所有接口前缀:http://localhost:3001/api

方法 路径 说明
GET /api/games 游戏列表(本机 MongoDB wanzhi_esports.games
管理端 /api/admin/* 见项目内管理后台与 API 文档

六、代码/风格更新后同步到本地 Docker 网站

每次完成前端或管理后台改动(例如新风格、新页面)后,要让本地 Docker 网站显示更新,任选其一执行。

方式 A推荐在玩值电竞App 项目根目录执行一键脚本(会到神射手目录重建 wanzhi-web 并启动):

cd "/Users/karuo/Documents/开发/3、自营项目/玩值电竞App"
bash docker/更新并同步到本地网站.sh

方式 B:在神射手目录执行 website 编排,只重建并启动玩值电竞容器:

cd "/Users/karuo/Documents/开发/2、私域银行/神射手"
docker compose build wanzhi-web --no-cache
docker compose up -d wanzhi-web

方式 C:在神射手目录重建并启动全部 website 服务(神射手 + 玩值电竞):

cd "/Users/karuo/Documents/开发/2、私域银行/神射手"
docker compose up -d --build

执行后访问 http://localhost:3001,管理后台 http://localhost:3001/admin 即可看到最新内容。


七、端口冲突时:结束占用并重新部署到该端口

若卡若AI/玩值AI 登记的网站端口 3002 被占用,不改为其他端口,按下列步骤结束占用进程后重新部署到 3002

# 查占用 3002 的进程
lsof -i :3002
# 结束该进程(将 <PID> 换为实际 PID
kill <PID>
# 重新部署到 3002
cd 项目根目录 && bash docker/部署并运行.sh

八、打开 Docker 图形界面

在项目根目录执行 ./docker/打开Docker界面.command,或双击该文件。界面中仅见 wanzhi-website 下的 wanzhi-web