您现在的位置是:首页 > 技术教程 正文

Jellyfin+Webdav+frp搭建NAS

admin 阅读: 2024-03-30
后台-插件-广告管理-内容页头部广告(手机)

前言:Jellyfin能够提供美观的web界面访问硬盘里的视音频;Webdav则是可以把硬盘/文件夹共享到网络上,如windows上可设置为本地硬盘的形式进行存取

注:frp内网穿透需要一台具有公网IP的云服务器(比如跑着博客网站的)。frp的搭建笔者有写过一篇教程

一、安装并运行Jellyfin(需要提前装好docker compose)

1.创建一个文件夹单独存放Jellyfin的一切(linux有文件名自动补全功能,按tab,不用担心太长) 

  1. mkdir Jellyfin
  2. cd Jellyfin

 2.新建一个docker-compose.yml,并在其中添加Jellyfin的相关配置信息(没有vim请自行安装)

vim docker-compose.yml

 输入:set paste进入粘贴模式,再按i进入编辑模式,输入ctrl+shift+v粘贴以下配置信息

  1. version: '2.2'
  2. services:
  3. jellyfin:
  4. image: jellyfin/jellyfin:latest
  5. container_name: jellyfin
  6. volumes:
  7. - /root/sdCard/jellyfin:/config
  8. - /root/sdCard/jellyfin:/media-sdCard-in
  9. - /root/YXL:/YXL
  10. ports:
  11. - 8096:8096
  12. restart: unless-stopped
  • volumes的内容需根据实际情况修改
  • ports是进入Jellyfin Web界面时输入的端口,建议默认   

volumes部分配置了三个映射关系:

  1. /root/sdCard/jellyfin:/config:将主机上的/root/sdCard/jellyfin目录映射到容器内的/config目录。此映射通常用于存储Jellyfin配置文件
  2. /root/sdCard/jellyfin:/media-sdCard-in:将主机上的/root/sdCard/jellyfin目录映射到容器内的/media-sdCard-in目录。此映射通常用于挂载存储媒体文件的目录
  3. /root/YXL:/YXL:将主机上的/root/YXL目录映射到容器内的/YXL目录。此映射可以根据实际需求来定义

通过这种volume映射关系,你可以方便地在主机和容器之间分享文件或目录,容器内的操作也可以直接反映到主机上的文件系统中。

3.运行Jellyfin容器

docker-compose up -d

4.输入docker ps能看见以下信息就是成功了

  1. root@onecloud:~/sdCard/jellyfin# docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. c7bae15371c0 jellyfin/jellyfin:latest "/jellyfin/jellyfin" 10 days ago Up 7 days (healthy) 0.0.0.0:8096->8096/tcp jellyfin

5.输入IP+端口号就可以进入Jellyfin的Web界面了(如192.168.50.155:8096) 

二、安装并运行Webdav

1.创建单独文件夹存放Webdav的文件,并进入

  1. mkdir Webdav
  2. cd Webdav

2.下载Webdav压缩包(如果不是armv7架构,请自行打开下面的网站查找并修改对应文件)

Releases · hacdias/webdav (github.com)

wget https://github.com/hacdias/webdav/releases/download/v4.2.0/freebsd-armv7-webdav.tar.gz

3.解压Webdav压缩包

tar -zxvf freebsd-armv7-webdav.tar.gz

4.配置Webadv的配置文件

vim config.yaml
  1. # 监听任意网卡,多网卡可指定对应ip
  2. address: 0.0.0.0
  3. port: 8081
  4. # 如果无需验证填 false
  5. auth: true
  6. # 如果不需要 https 则填 false
  7. tls: flase
  8. # https证书和密钥,如果 tls 为 false,cert 和 key 不需要
  9. # 访问前缀,建议默认
  10. prefix: /
  11. # 如果 auth 为 false 生效,文件共享的路径
  12. scope: /root/sdCard/video/LILIES
  13. # 是否允许修改
  14. modify: true
  15. rules: []
  16. # 跨域设置
  17. cors:
  18. enabled: true
  19. credentials: true
  20. allowed_headers:
  21. - Depth
  22. allowed_hosts:
  23. - http://localhost:8081
  24. allowed_methods:
  25. - GET
  26. exposed_headers:
  27. - Content-Length
  28. - Content-Range
  29. # 用户信息,如果 auth 为 true 生效
  30. users:
  31. - username: yxl
  32. password: 123456
  33. scope: /root/YXL
  34. - username: user2
  35. password: 654321
  36. scope: /root/sdCard/jellyfin/media/musicVideo
  •  users的设置是重点。设置好连接时输入的账密;设置对应账号的,被共享到网络上的文件夹
  • 其余设置见注释

 5.启动Webdav

./webdav -c config.yml
  • 意思是运行webdav这个可执行文件,使用config.yml这个配置文件。./ 表示当前文件夹。

 出现以下信息就是启动成功了

  1. root@onecloud:~/webdav# ./webdav -c config.yaml
  2. 2023-11-29T21:35:24.045+0800 info Listening {"address": "[::]:8081"}

 三、windows安装RaiDrive连接webdav (win也可不借助软件直接设置webdav为本地硬盘的形式,但限制多且麻烦)

按图中配置即可

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索