⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

私有化部署指南

快速更新中

本教程正处于快速更新期,部署后可能很快有新版本发布。建议定期拉取最新代码并重新构建以获取最新内容。

本指南介绍如何在企业内部网络环境中私有化部署 VibeVibe 教程网站。

项目概述

VibeVibe 是基于 VitePress 构建的静态网站,完全独立运行,无需外部 API 调用。这意味着私有化部署非常简单——只需要将构建产物部署到您内部的服务器即可。

技术栈

技术版本用途
VitePress1.6.4静态网站生成器
Vue3.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 80
bash
# 构建镜像
docker build -t vibevibe-docs .

# 运行容器(访问 http://localhost:8080)
docker run -d -p 8080:80 vibevibe-docs

优势:容器内已集成 Nginx,无需额外配置,一条命令启动服务。

方式三:使用 EdgeOne Pages(腾讯云)

如果您使用腾讯云 EdgeOne Pages,可以一键部署:

  1. 在 EdgeOne 控制台创建静态网站
  2. 配置 GitHub 仓库自动同步
  3. 每次推送代码自动重新构建

方式四:本地预览

构建后可以在本地预览:

bash
pnpm preview
# 访问 http://localhost:4173

离线环境注意事项

由于是静态网站,私有化部署后完全离线运行,不需要互联网连接。

可能需要处理的离线资源

  1. Giscus 评论系统(如使用):

    • 需要互联网连接才能加载
    • 建议:在私有环境部署时禁用或自建评论系统
  2. 图片资源

    • 当前使用 GitHub raw 链接
    • 建议:将图片下载到本地 docs/public/ 目录
  3. 外部 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

私有化部署建议

安全加固

  1. 移除评论功能:在配置中禁用 Giscus
  2. 内网部署:仅在公司内网访问,不暴露到公网
  3. 访问控制:配置 Nginx 基本认证或集成公司 SSO

内容定制

如果需要定制教程内容(如添加公司内部案例),可以直接修改 Markdown 文件后重新构建。

联系支持

如遇到部署问题,请:

  1. 查看本文档的常见问题部分
  2. 在 GitHub 提 Issue:datawhalechina/vibe-vibe

许可证

本项目采用 CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享 4.0)许可协议。

许可证摘要

  • 允许:复制、分发、修改、创作衍生作品
  • 条件:须署名原作者、非商业用途、以相同方式共享
  • 禁止:商业用途

私有化部署的许可证含义

在私有化部署场景下:

使用场景是否允许说明
企业内部培训学习✅ 允许在公司内部用于员工学习编程
学校教学使用✅ 允许用于教育目的的课堂教学
收费课程/训练营❌ 禁止不得将本教程用于商业盈利活动
修改内容后内部使用✅ 允许可以修改内容后在内部分发,但需遵循相同协议
移除原作者信息❌ 禁止必须保留 Datawhale 和原作者的署名

完整许可证文本请参阅:Creative Commons BY-NC-SA 4.0