- 前端:
index.html - 后端:
server.js - 数据库:
MySQL 8 - 容器:
Docker - 镜像仓库:
GHCR
- 复制
.env.example为.env - 按需修改
DB_PASSWORD等环境变量 - 执行:
docker compose up -d --build- 打开:
http://localhost:4000
docker compose down如果要连数据库数据一起删除:
docker compose down -v仓库已包含 GitHub Actions 工作流:
.github/workflows/docker-publish.yml
会自动构建并推送到:
ghcr.io/<github-owner>/dimension-brawl
触发方式:
- 推送到
main - 推送标签,例如
v1.0.0 - 在 GitHub Actions 页面手动触发
请确认:
- 仓库已经推送到 GitHub
- 已启用 GitHub Actions
GITHUB_TOKEN具备 packages 写入权限
如果是同仓库推送到 GHCR,通常不需要额外 Secret。
docker pull ghcr.io/<github-owner>/dimension-brawl:latest
docker run -d --name dimension-brawl-app ^
-p 4000:4000 ^
-e DB_HOST=<mysql-host> ^
-e DB_PORT=3306 ^
-e DB_NAME=dimension_brawl ^
-e DB_USER=root ^
-e DB_PASSWORD=123456 ^
ghcr.io/<github-owner>/dimension-brawl:latestdocker-compose.yml会同时启动应用和 MySQLschema.sql会在 MySQL 首次初始化时自动导入- 应用镜像本身不包含 MySQL
- 登录会话默认长期有效,过期时间固定到
2099-12-31 23:59:59 UTC