Skip to content

部署指南 ​

ValPoint 可以部署到多个平台,推荐使用 Vercel 或 Cloudflare Pages 。

平台是否真·一键README 按钮自动 Fork环境变量引导
Docker⭐⭐⭐⭐⭐N/AN/A✅ 环境变量
Vercel⭐⭐⭐⭐⭐✅ 官方✅✅ 强制填写
Cloudflare Pages⭐⭐⭐⚠️ 半官方❌⚠️ 手动
阿里云 ESA⭐⭐⭐⭐❌ 手动❌⚠️ 手动

一句话结论

👉 私有部署首选:Docker

👉 对外开源首选:Vercel

👉 国内/边缘/CDN:Cloudflare Pages

👉 国内加速首选:阿里云 ESA

🐳 Docker 部署(推荐私有部署) ​

优势 ​

  • ✅ 完全自主可控
  • ✅ 支持私有服务器
  • ✅ 一键启动,无需 Node.js 环境
  • ✅ 内置 Nginx 生产优化配置
  • ✅ 环境变量灵活配置

方式一:使用 Docker Compose(推荐) ​

Docker-01
第一步:云服务器的话要放行端口
Docker-02
第二步:docker-compose.yml

1. 创建 docker-compose.yml ​

点击查看完整配置
yaml
services:
  valpoint:
    image: xiongaox7806/valpoint-a:latest
    container_name: valpoint-a
    restart: always
    ports:
      - "3208:3208"
    environment:
      - NODE_ENV=production
      # Supabase 配置(必填)
      - VITE_SUPABASE_URL=${VITE_SUPABASE_URL}
      - VITE_SUPABASE_ANON_KEY=${VITE_SUPABASE_ANON_KEY}
    networks:
      - valpoint-net

networks:
  valpoint-net:
    driver: bridge

TIP

将上述配置中的 ${VAR} 替换为你的实际值。

2. 启动服务 ​

bash
# 启动容器
docker compose up -d

# 查看运行状态
docker compose ps

# 查看日志
docker compose logs -f

# 停止服务
docker compose down

4. 访问应用 ​

入口地址
共享库(首页)http://localhost:8080
个人库http://localhost:8080/user.html
管理后台http://localhost:8080/admin.html

方式二:使用 Docker 命令 ​

bash
# 拉取官方镜像
docker pull xiongaox7806/valpoint-a:latest

# 运行容器
docker run -d \
  --name valpoint \
  -p 8080:3208 \
  -e VITE_SUPABASE_URL=https://[PROJECT_ID].supabase.co \
  -e VITE_SUPABASE_ANON_KEY=[YOUR_ANON_KEY] \
  xiongaox7806/valpoint-a:latest

方式三:自行构建镜像 ​

bash
# 克隆项目
git clone https://github.com/xiongaox/valpoint.git
cd valpoint

# 构建镜像
docker build -t valpoint:local .

# 运行
docker compose up -d

MPA 架构说明

项目采用多页面应用(MPA)架构,包含以下入口:

  • index.html - 共享库(首页)
  • user.html - 个人库
  • admin.html - 管理后台
  • wiki.html - 使用文档
  • 404.html - 404 页面

Nginx 配置已自动处理路由重写。

🚀 Vercel 部署(推荐) ​

优势 ​

  • ✅ 自动构建和部署
  • ✅ 全球 CDN 加速
  • ✅ 免费 SSL 证书
  • ✅ 自动预览部署
  • ✅ 环境变量管理

部署步骤 ​

IMPORTANT

先将项目 Fork 到你的 GitHub 账号,然后连接 GitHub 部署。

1. 一键部署 ​

点击下面按钮一键部署

Deploy with Vercel

2. 手动部署(可选) ​

  1. 访问 vercel.com → New Project
  2. 选择仓库 → Import
  3. 添加环境变量(VITE_SUPABASE_URL、VITE_SUPABASE_ANON_KEY)
  4. 点击 Deploy

3. 配置自定义域名(可选) ​

  1. 在 Vercel 项目设置中点击 Domains
  2. 添加你的域名
  3. 按照提示配置 DNS 记录

自动部署 ​

配置完成后,每次推送到 GitHub 都会自动触发部署:

  • main 分支 → 生产环境
  • 其他分支 → 预览环境

具体步骤 ​

vercel-01
第一步:绑定github
vercel-02
第二步:设置项目名字
vercel-03
第三步:配置环境变量
vercel-04
第四步:稍等片刻
vercel-05
第五步:访问域名
vercel-06
第六步:如果启动黑屏,可以到这里修改环境变量
vercel-07
第七步:重新部署
vercel-08
第八步:

🚀 Cloudflare Pages 部署 ​

优势 ​

  • ✅ 全球 CDN 网络
  • ✅ 无限带宽
  • ✅ 免费 SSL 证书
  • ✅ 快速构建

部署步骤 ​

IMPORTANT

先将项目 Fork 到你的 GitHub 账号,然后连接 GitHub 部署。

1. 一键部署 ​

点击下面按钮一键部署

Deploy to Cloudflare Pages

2. 手动部署(可选) ​

  1. 访问 Cloudflare Pages
  2. 点击 Create a project → 连接 GitHub
  3. 选择 ValPoint 仓库
  4. 构建配置:npm run build,输出目录 dist
  5. 添加环境变量 → Save and Deploy

具体步骤 ​

cloudflare-01
第一步:绑定github
cloudflare-02
第二步:修改构建命令
cloudflare-03
第三步:设置项目名字
cloudflare-04
第四步:配置环境变量
cloudflare-05
第五步:访问域名
cloudflare-06
第六步:如果启动黑屏,可以到这里修改环境变量
cloudflare-07
第七步:查看构建
cloudflare-08
第八步:重新构建
cloudflare-09
第九步:部署成功

🚀 阿里云 ESA 部署 ​

优势 ​

  • ✅ 国内访问速度极快
  • ✅ 全球边缘节点加速
  • ✅ 自动 HTTPS
  • ✅ 支持自定义域名

部署步骤 ​

1. 登录阿里云控制台 ​

访问 阿里云 ESA 控制台,开通边缘安全加速服务。

2. 进入函数和 Pages ​

在控制台左侧菜单找到 边缘函数和Pages。

3. 创建项目 ​

点击 创建 按钮。

4. 导入 GitHub 仓库 ​

  1. 选择 导入 Git 仓库
  2. 授权 GitHub 账号
  3. 选择 ValPoint 仓库

5. 配置构建命令 ​

重要

必须将构建命令设置为 npm run build:all,否则 Wiki 文档无法正常访问。

配置项值
构建命令npm run build:all
输出目录dist

6. 配置环境变量 ​

为什么需要拆分 Key?

阿里云 ESA 的环境变量有 200 字符限制,而 Supabase 的 ANON_KEY 通常超过 270 个字符。 因此需要将 Key 拆分成两部分,代码会自动拼接。

在高级配置中添加以下环境变量:

ini
# Supabase 地址(必填)
VITE_SUPABASE_URL=https://xxxxx.supabase.co

# 方式一:如果 Key 长度小于 200 字符,直接填写
VITE_SUPABASE_ANON_KEY=你的AnonKey

# 方式二:如果 Key 超过 200 字符,需要拆分成两部分
VITE_SUPABASE_ANON_KEY_1=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIs...(前150字符)
VITE_SUPABASE_ANON_KEY_2=InJlZiI6InV5cmx1dHJhanZ1ZXV1YWV5Yml5Ii...(剩余字符)

拆分方法:

  1. 找到你的 ANON_KEY(约 270+ 字符)
  2. 在中间位置(建议在 . 后)截断
  3. 前半部分填入 VITE_SUPABASE_ANON_KEY_1
  4. 后半部分填入 VITE_SUPABASE_ANON_KEY_2

代码原理

typescript
// 优先使用完整 Key,如果没有则自动拼接 KEY_1 + KEY_2
const anonKey = getEnv('VITE_SUPABASE_ANON_KEY')
  || (getEnv('VITE_SUPABASE_ANON_KEY_1') + getEnv('VITE_SUPABASE_ANON_KEY_2'));

7. 部署并访问 ​

  1. 点击 保存并部署
  2. 等待构建完成

具体步骤 ​

阿里云ESA-01
第一步
阿里云ESA-02
第二步
阿里云ESA-03
第三步:修改构建命令
阿里云ESA-04
第四步
阿里云ESA-05
第五步
阿里云ESA-06
第六步:如果启动黑屏,可以到这里修改环境变量
阿里云ESA-07
第七步:重新构建

🚀 自托管部署 ​

使用 Nginx ​

1. 构建项目 ​

bash
npm run build

2. 配置 Nginx ​

nginx
server {
    listen 80;
    server_name valpoint.example.com;
    
    root /var/www/valpoint/dist;
    index index.html;
    
    # SPA 路由支持
    location / {
        try_files $uri $uri/ /index.html;
    }
    
    # 静态资源缓存
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
    
    # Gzip 压缩
    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}

3. 部署文件 ​

bash
# 上传构建产物
scp -r dist/* user@server:/var/www/valpoint/dist/

# 重启 Nginx
ssh user@server "sudo systemctl restart nginx"

❓ 常见问题 ​

Q: 部署后页面空白? ​

检查:

  1. 环境变量是否配置正确
  2. 构建是否成功
  3. 浏览器控制台是否有错误

Q: 路由 404 错误? ​

需要配置 SPA 路由重写:

  • Vercel:自动配置
  • Cloudflare Pages:自动配置
  • Nginx:添加 try_files 配置

Q: 环境变量不生效? ​

确保:

  1. 变量名以 VITE_ 开头
  2. 重新构建项目
  3. 清除浏览器缓存

Q: 构建失败? ​

检查:

  1. Node.js 版本(需要 >= 18)
  2. 依赖是否安装完整
  3. 构建日志中的错误信息

Q: 如何回滚部署? ​

  • Vercel:在 Deployments 页面选择之前的部署,点击 Promote to Production
  • Cloudflare Pages:在 Deployments 页面选择之前的部署,点击 Rollback
  • 自托管:恢复之前的构建产物

Made with ♥ for Valorant Players