现在网上基于 OneDrive 的在线索引网站比较多,类似 OneIndex、OLAINDEX、FODI 等,今天要讲的是其中的一款解决方案,项目名叫 onedrive-vercel-index,站长觉得它是其中 UI 主题最好看的一款。
搭建背景
项目地址:https://github.com/spencerwooo/onedrive-vercel-index
项目DEMO:https://drive.swo.moe/zh-CN/
帮助文档:https://ovi.swo.moe/docs/getting-started
开始搭建
1)先准备干净的 Linux 系统,最好内存大于 2G,站长这里以 Centos 7.4 为例,登录之后先安装 Docker,因为 onedrive-vercel-index 需要 Redis 缓存组件能力,所以要搭建。
安装命令
yum install update
curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun
Docker 安装完默认未启动,并且已经创建好 docker 用户组,需要继续操作。
继续执行启动,Docker 正式可以使用。
systemctl start docker
开始搜索下载 Redis 并且安装,我们直接选择最后一个版本就行,或者大家可以任意选择一个稳定版本。安装成功之后直接设置后台启动就行,并且默认映射 6379 端口。
docker pull redis
docker run -itd –name redis-test -p 6379:6379 redis
2)继续安装 Node.js 和 NPM、PNPM。
安装版本可以从 https://nodejs.org/dist/ 下载,我们选择 16.14 长期支持版本。
cd /home
yum install wget
wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz
tar -xvf node-v16.14.2-linux-x64.tar.xz
cd /usr/local/
mv /home/node-v16.14.2-linux-x64 . //后面的 . 表示移动到当前目录
mv node-v16.14.2-linux-x64/ nodejs
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/
ln -s /usr/local/nodejs/bin/node /usr/local/bin/
安装成功之后,我们验证下 Node 和 NPM 是否生效。
node -v
npm -v
因为 onedrive-vercel-index 最近改成了 PNPM 管理包,所以我们还需要安装 PNPM,这个也比较简单。
需要注意的是 PNPM 和 Node 存在兼容性问题,需要注意安装版本。
Node.js | pnpm 4 | pnpm 5 | pnpm 6 | pnpm 7 |
---|---|---|---|---|
Node.js 10 | ✔️ | ✔️ | ❌ | ❌ |
Node.js 12 | ✔️ | ✔️ | ✔️ | ❌ |
Node.js 14 | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 16 | ?️ | ?️ | ✔️ | ✔️ |
Node.js 18 | ?️ | ?️ | ✔️ | ✔️ |
curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm
自此,需要安装的环境都已经具备了,剩下就是项目代码部署了。
cd /home
mkdir index
cd index
yum install git
git clone https://github.com/spencerwooo/onedrive-vercel-index.git
cd onedrive-vercel-index/config
剩下的就是我们要配置自己的相关 OneDrive 配置,这个配置也很好申请。
config 目录下的配置主要分为两个文件,一个是 api.config.js,这个主要是 OneDrive 个人认证的一些配置;还有一个是 site.config.js,这个是网站主题的相关配置。
我们只要修改 api.config.js 的 clientId 和 obfuscatedClientSecret 两个参数就行。
官方的参考文档在这里:https://ovi.swo.moe/docs/advanced#using-your-own-clientid-and-clientsecret-1,大家可以配合参考流程一步步安装。
登录 微软应用注册服务网站,选择新注册应用服务。
复制到 api.config.js 文件内,对应 clientId。然后继续操作生成证书和密码。
生成的客户端密码,切记需要保存一份,不会再第二次展示。
我们再将复制好的密码,前往 项目文档 进行混淆加密再第二次复制。
再次得到的密码,粘贴在 api.config.js 的 obfuscatedClientSecret 参数中,然后保存文件。
下一步,我们继续回到项目的根路径 /home/index/onedrive-vercel-index/config,按顺序在根目录下执行如下命令启动服务。
pnpm install pnpm lint pnpm build pnpm start
之后我们就可以访问网站啦,对应网址应该是你的服务器地址+3000端口,如果 3000 端口无法访问可以排查下是否防火墙限制,正常打开的网址应该类似:http://xx.xx.xx.xx:3000。
常见问题
未安装 GCC 编译器,未安装 GLIBC
curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz tar zxf glibc-2.18.tar.gz cd glibc-2.18/ mkdir build cd build/ ../configure --prefix=/usr make -j2 make install
redis的配置没有在上方体现?