vps交流

[经验] 在轻量服务器上使用NextList搭建OneDriver列表程序


本帖最后由 lixiaofei 于 2021-12-29 18:42 编辑

什么是列表,MJJ们应该都知道。现在开源的优秀的列表程序也很多,就不一一列举了。今天向大家推荐的是NextList。地址是https://github.com/lixiaofei123/nextlist 预览地址 https://demo.326256.xyz/#

为什么推荐这一个列表程序呢,因为这个列表程序美观大方,功能齐全, 支持本地存储、对象存储、阿里网盘以及Onedriver。页面上可以直接预览视频、MP3,图片以及PDF,也支持直接从页面上传文件和删除文件。另外一个推荐这个的原因是,其实这是我自己写的(其中阿里网盘的代码主要参考了Alist,在代码中以及github项目主页都已注明),目前还是v0.0.1版本。 [经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

下面预览图

支持登录以后,进行文件删除和上传
[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

对于同一文件夹下的视频文件,可以用剧集模式观看,自动根据文件名中的数字进行排序,并且自动播放下一集。
[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

对于同一文件夹下的音乐文件,可以采用音乐盒模式播放,支持列表循环和单曲循环。
[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

有了列表程序,还需要一台好的服务器。强烈推荐腾讯云的轻量服务器。轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。

购买服务器

如果没有服务器的话,需要先购买一台腾讯云的轻量服务器。腾讯云经常举办各种活动,可以到他们的官网进行购买,可以选择距离最近的区域购买,不过不想备案的话,可以选择境外的服务器(比如中国香港区域)进行购买。镜像的话,选择【官方镜像】下的【docker基础镜像】,实例套餐选择适合自己的,然后提交订单,付款即可。如果不选择【Docker基础镜像】,后面需要自行安装docker容器。
[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

购买了服务器后,如果不是选择的Docker基础镜像,请自行安装Docker环境,这个对MJJ们都不难。

开始安装

所谓网站不大,架构要全。这句话同样适用于NextList,NextList支持多用户,并且是自行维护目录结构,因此依赖数据库,并且做了前后端分离。所以需要分别安装MySQL服务器、后端服务以及前端Web页面。

安装数据库

  1. docker run –restart=always –name nextlist_db    -v /data/db/nextlist:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=nextlist -e MARIADB_USER=nextlist -e MARIADB_PASSWORD=nextlist  -e MARIADB_DATABASE=nextlist -d mariadb

复制代码

安装后端

在 /data/nextlist目录下创建config.yaml文件,内容如下。下述中配置文件的中xxxx项都是必填的参数,其参数值可以访问这里操作获取(https://alist-doc.nn.ci/docs/driver/onedrive)。其余的配置请看配置文件中的注释说明。

  1. port: 8081    # 采用docker部署的话,这个端口不能修改
  2. database:
  3.   mysql:
  4.     url: nextlist_db
  5.     port: 3306
  6.     database: nextlist
  7.     username: nextlist
  8.     password: nextlist
  9. driver:
  10.   name: onedriver
  11.   config:
  12.     refreshToken: "xxxxxxxxxxxxx"   # 请替换为正确的refreshToken
  13.     clientID: "xxxxxxxx"            # 请替换为正确的clientID
  14.     clientSecret: "xxxxxxxx"        # 请替换为正确的clientSecret
  15.     redirectUrl: "https://tool.nn.ci/onedrive/callback"
  16.     key: "nextlist123"   # 注意把这个换成一个复杂的字符串
  17.     path: /nextlist      # 要挂载的onedriver目录
  18.     host:  http://192.168.4.105:8081   # 后端服务的公网地址以及公网端口
  19. site:
  20.   title: "NextList"  # 站点标题
  21.   copyright: "本站资料仅供学习使用,请在下载后24小时内删除"
  22.   allowRegister: false   # 墙裂建议改成false。改成false的话,注册一个用户就会关闭注册入口
  23. auth:
  24.   secret: "nextlist123"    # 注意把这个换成一个复杂的字符串

复制代码

配置好配置文件以后,可以用下面的命令启动后端服务器

  1. docker run –detach  –name nextlist  –restart always –link  nextlist_db  -v /data/nextlist:/data mrlee326/nextlist -p 8081:8081  -c /data/config.yaml -d false

复制代码

如果使用nginx反代nextlist后端的话,注意调整client_max_body_size的值,否则nginx会拦截上传的大文件

安装前端

启动了后端服务器以后,再来启动nextlist的前端服务。启动命令如下

需要把命令中的http://192.168.4.105:8081换成后端服务的实际地址。

  1. docker run –detach –name nextlist_web –restart always –env "APIURL=http://192.168.4.105:8081" -p 80:80 mrlee326/nextlist_web

复制代码

启动成功后,打开 ip:port,就可以访问了
[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

注意事项

NextLIst的使用非常简单,但是默认情况下,NextList只管理通过在NextList页面中创建或者上传的文件。对于不是通过NextList上传的文件,即直接用Onedriver客户端上传的文件, 可以通过页面中的同步按钮来进行数据的同步,同步以后,就可以看到Onedriver中的文件了。

[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

挺不错的,帮顶一下
火钳刘明,楼主这个LIST很好看。
不错
支持webdav吗,有的话方便很多
看着不错.  不过没有dark阿

honus 发表于 2021-12-29 18:44
支持webdav吗,有的话方便很多

不支持[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

huanx 发表于 2021-12-29 18:45
看着不错.  不过没有dark阿

dark是啥。夜间模式吗?[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序

后继会添加吗?

honus 发表于 2021-12-29 18:47
后继会添加吗?

后面都会有的。[经验]  在轻量服务器上使用NextList搭建OneDriver列表程序