全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 4888|回复: 63

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

  [复制链接]
发表于 2021-12-29 18:40:05 | 显示全部楼层 |阅读模式
本帖最后由 lixiaofei 于 2021-12-30 10:59 编辑

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

这是第一个版本,功能还不完善,MJJ们可以提一下需求,会尽量在下一个版本实现。 目前收集到的需求:

1. 支持webdav
2. 支持Onedriver世纪互联
3. 支持夜间模式
4. 支持markdown预览

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

下面预览图

支持登录以后,进行文件删除和上传


对于同一文件夹下的视频文件,可以用剧集模式观看,自动根据文件名中的数字进行排序,并且自动播放下一集。


对于同一文件夹下的音乐文件,可以采用音乐盒模式播放,支持列表循环和单曲循环。


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


购买服务器

如果没有服务器的话,需要先购买一台腾讯云的轻量服务器。腾讯云经常举办各种活动,可以到他们的官网进行购买,可以选择距离最近的区域购买,不过不想备案的话,可以选择境外的服务器(比如中国香港区域)进行购买。镜像的话,选择【官方镜像】下的【docker基础镜像】



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

开始安装


安装数据库

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

发表于 2021-12-30 14:46:17 | 显示全部楼层
lixiaofei 发表于 2021-12-30 10:29
试了一下用Onedriver的预览功能会有Cors跨域问题

你如果用的是官方接口的预览,可以直接放到iframe里就没有跨域问题了
发表于 2021-12-29 18:44:17 | 显示全部楼层
支持webdav吗,有的话方便很多
发表于 2021-12-29 18:40:56 | 显示全部楼层
挺不错的,帮顶一下
发表于 2021-12-29 18:42:41 | 显示全部楼层
火钳刘明,楼主这个LIST很好看。
发表于 2021-12-29 18:45:47 | 显示全部楼层
看着不错.  不过没有dark阿
 楼主| 发表于 2021-12-29 18:45:51 | 显示全部楼层
honus 发表于 2021-12-29 18:44
支持webdav吗,有的话方便很多

不支持
 楼主| 发表于 2021-12-29 18:46:54 | 显示全部楼层
huanx 发表于 2021-12-29 18:45
看着不错.  不过没有dark阿

dark是啥。夜间模式吗?
发表于 2021-12-29 18:47:11 | 显示全部楼层

后继会添加吗?
 楼主| 发表于 2021-12-29 18:48:32 | 显示全部楼层
honus 发表于 2021-12-29 18:47
后继会添加吗?

后面都会有的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-31 03:54 , Processed in 0.078998 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表