自托管
WARNING
请注意,必须将您的实例与官方网站 (pingti.org) 区分开,以免混淆。第 4 步中提供了具体操作步骤。
本指南将帮助您在本地设置并运行自己的 FMHY 实例。
Docker(实验性)
要运行本地实例,需要安装 Docker 和 Docker Compose。
安装完成后,运行以下命令:
git clone https://github.com/fmhy/edit.git
cd edit
sudo docker compose up --build构建镜像并启动容器可能需要几分钟,容器将在端口 4173 上运行。
Nix Flake
可以使用 nix 设置开发环境,我们提供了一个 flake,用于配置 nodejs 和 pnpm。
- Fork 该仓库并使用
git clone https://github.com/fmhy/edit.git克隆到本地。 - 运行
nix flake update以更新 flake 锁定文件。 - 运行
nix develop进入开发环境。 - 进行更改。
- 运行
exit退出开发环境。
手动安装
需要安装以下内容:
- Git
- Node.js - 安装版本 25.2.1
- pnpm 9.12.2+
步骤 1:克隆仓库
git clone https://github.com/fmhy/edit.git
cd edit步骤 2:安装依赖
使用 pnpm 安装项目依赖:
pnpm install步骤 3:开发模式
以开发模式运行项目:
# Start the documentation site in dev mode
pnpm docs:dev
# Start the API in dev mode (if needed)
pnpm api:dev开发服务器默认在 http://localhost:5173 启动。
步骤 4:构建生产版本
需要更新以下内容:
meta:docs/.vitepress/constants.ts中的常量name:实例名称hostname:域名description:实例描述tags:Opengraph 标签build:构建选项(可通过环境变量配置)
docs/index.mdtitledescriptionhero.namehero.tagline
构建生产版本:
# Build the documentation site
pnpm docs:build
# Build the API (if needed) using the Node.js preset
NITRO_PRESET=node pnpm api:build步骤 5:预览生产构建
在本地预览生产构建:
# Preview the documentation site
pnpm docs:preview
# Preview the API (if needed)
pnpm api:preview步骤 6:部署
更多信息请参阅 VitePress deployment guide。
API 部署
如需部署 API 组件(反馈系统),需要设置 Cloudflare Workers 和 KV 存储。
前提条件
步骤 1:配置 Wrangler
使用 Cloudflare 账户信息更新 wrangler.toml:
- 从 Cloudflare 仪表盘(位于右侧边栏)获取账户 ID
- 将
wrangler.toml中的account_id值替换为账户 ID - 如果使用自定义域名,保留
workers_dev = false并更新routes部分 - 如果部署到
*.workers.dev,设置workers_dev = true并移除routes部分
步骤 2:创建 KV 命名空间
创建一个 KV 命名空间用于数据存储:
npx wrangler kv:namespace create STORAGE此命令将返回一个命名空间 ID。复制此 ID 并替换 wrangler.toml 中 [[kv_namespaces]] 部分的 id 值(第 14 行)。
注意: 如果希望在不本地运行 Wrangler 的情况下部署(例如在 CI/CD 中),需要:
- 在 Cloudflare 仪表盘中手动创建 KV 命名空间
- 在复刻中更新
wrangler.toml中的account_id和id值
步骤 3:构建和部署
构建并部署 API:
# Build the API
pnpm api:build
# Deploy to Cloudflare Workers
pnpm api:deployAPI 将部署到配置的域名或 *.workers.dev 子域名。
速率限制(可选)
速率限制绑定需要通过 Cloudflare 仪表盘进行设置。对于基本部署可以跳过此步骤,或稍后通过 Workers 仪表盘的“速率限制”部分进行配置。
环境变量
构建时变量(用于文档)
这些变量控制构建文档站点时包含的内容:
FMHY_BUILD_NSFW- 启用 NSFW 侧边栏条目(实验性)FMHY_BUILD_API- 启用 API 组件用于反馈系统
运行时变量(用于 API Worker)
这些变量由已部署的 Cloudflare Worker API 使用:
WEBHOOK_URL- Discord webhook URL,用于发布反馈消息(API 反馈功能必需)
故障排除
- 如果遇到 Node.js 版本问题,请确保使用 Node.js 21+
- 对于 pnpm 相关问题,请确保使用 pnpm 9+
- 如果遇到构建问题,请尝试清除缓存:bash
# Linux rm -rf docs/.vitepress/cache # PowerShell rm -r -fo docs/.vitepress/cache
反向代理
应该可以使用任何反向代理配合此 vitepress 网站,但可以在此仓库中找到适用于 nginx 服务器的合理配置