私有化部署指南
快速更新中
本教程正处于快速更新期,部署后可能很快有新版本发布。建议定期拉取最新代码并重新构建以获取最新内容。
本指南介绍如何在企业内部网络环境中私有化部署 VibeVibe 教程网站。
项目概述
VibeVibe 是基于 VitePress 构建的静态网站,完全独立运行,无需外部 API 调用。这意味着私有化部署非常简单——只需要将构建产物部署到您内部的服务器即可。
技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| VitePress | 1.6.4 | 静态网站生成器 |
| Vue | 3.5.25 | 前端框架 |
| Node.js | 推荐 24 LTS | 构建环境 |
部署方式
方式一:直接部署静态文件(推荐)
这是最简单的方式,适合大多数场景。
bash
# 1. 克隆项目
git clone https://github.com/datawhalechina/vibe-vibe.git
cd vibe-vibe
# 2. 安装依赖
pnpm install
# 3. 构建静态网站
pnpm build
# 4. 构建产物位于 docs/.vitepress/dist 目录
# 将整个 dist 文件夹复制到您的 Web 服务器即可构建完成后,docs/.vitepress/dist 目录包含所有静态文件,您可以将其部署到:
- Nginx:直接指向 dist 目录
- Apache:配置 DocumentRoot
- IIS:将 dist 目录设为网站根目录
- 对象存储:上传到 OSS/S3 并配置静态网站托管
- 任何静态文件托管服务
方式二:使用 Docker(推荐)
Docker 方式最简单——容器内已集成 Nginx,一条命令即可启动:
dockerfile
# Dockerfile
FROM node:24-alpine AS builder
WORKDIR /app
# 安装 pnpm
RUN npm install -g pnpm
# 复制 package.json 和 lock 文件
COPY package.json pnpm-lock.yaml ./
# 安装依赖
RUN pnpm install --frozen-lockfile
# 复制项目文件
COPY . .
# 构建
RUN pnpm build
# 使用 Nginx 提供静态文件服务
FROM nginx:alpine
COPY --from=builder /app/docs/.vitepress/dist /usr/share/nginx/html
EXPOSE 80bash
# 构建镜像
docker build -t vibevibe-docs .
# 运行容器(访问 http://localhost:8080)
docker run -d -p 8080:80 vibevibe-docs优势:容器内已集成 Nginx,无需额外配置,一条命令启动服务。
方式三:使用 EdgeOne Pages(腾讯云)
如果您使用腾讯云 EdgeOne Pages,可以一键部署:
- 在 EdgeOne 控制台创建静态网站
- 配置 GitHub 仓库自动同步
- 每次推送代码自动重新构建
方式四:本地预览
构建后可以在本地预览:
bash
pnpm preview
# 访问 http://localhost:4173离线环境注意事项
由于是静态网站,私有化部署后完全离线运行,不需要互联网连接。
可能需要处理的离线资源
Giscus 评论系统(如使用):
- 需要互联网连接才能加载
- 建议:在私有环境部署时禁用或自建评论系统
图片资源:
- 当前使用 GitHub raw 链接
- 建议:将图片下载到本地
docs/public/目录
外部 CDN:
- 当前可能使用了 CDN 资源
- 建议:构建时将资源内联或使用内部镜像
离线构建步骤
完全离线环境下的构建步骤:
bash
# 1. 在有网络的机器上下载项目
git clone https://github.com/datawhalechina/vibe-vibe.git
# 2. 打包项目(包含 node_modules)
tar czf vibe-vibe.tar.gz vibe-vibe/
# 3. 传输到离线服务器并解压
tar xzf vibe-vibe.tar.gz
# 4. 如果 node_modules 不完整,需要重新安装
cd vibe-vibe
# 使用本地 npm 源或离线安装包常见问题
Q: 需要数据库吗?
不需要。VibeVibe 是纯静态网站,所有内容都是 Markdown 文件预渲染生成的。
Q: 需要配置域名吗?
不需要。您可以使用内网 IP 地址访问,如 http://192.168.1.100:8080。
Q: 支持搜索功能吗?
支持。VitePress 内置的客户端搜索功能完全离线可用。
Q: 如何更新内容?
bash
# 1. 拉取最新代码
git pull
# 2. 重新构建
pnpm build
# 3. 替换 dist 目录即可Q: 构建失败怎么办?
bash
# 清理缓存重新构建
rm -rf node_modules docs/.vitepress/cache
pnpm install
pnpm build私有化部署建议
安全加固
- 移除评论功能:在配置中禁用 Giscus
- 内网部署:仅在公司内网访问,不暴露到公网
- 访问控制:配置 Nginx 基本认证或集成公司 SSO
内容定制
如果需要定制教程内容(如添加公司内部案例),可以直接修改 Markdown 文件后重新构建。
联系支持
如遇到部署问题,请:
- 查看本文档的常见问题部分
- 在 GitHub 提 Issue:datawhalechina/vibe-vibe
许可证
本项目采用 CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享 4.0)许可协议。
许可证摘要
- ✅ 允许:复制、分发、修改、创作衍生作品
- ✅ 条件:须署名原作者、非商业用途、以相同方式共享
- ❌ 禁止:商业用途
私有化部署的许可证含义
在私有化部署场景下:
| 使用场景 | 是否允许 | 说明 |
|---|---|---|
| 企业内部培训学习 | ✅ 允许 | 在公司内部用于员工学习编程 |
| 学校教学使用 | ✅ 允许 | 用于教育目的的课堂教学 |
| 收费课程/训练营 | ❌ 禁止 | 不得将本教程用于商业盈利活动 |
| 修改内容后内部使用 | ✅ 允许 | 可以修改内容后在内部分发,但需遵循相同协议 |
| 移除原作者信息 | ❌ 禁止 | 必须保留 Datawhale 和原作者的署名 |
完整许可证文本请参阅:Creative Commons BY-NC-SA 4.0
