利用Plex和Syncthing搭建媒体中心

简介:

因为软件都是朋友介绍的,这篇文章本来是不打算写的。 但由于在坑上浪费不少时间还是写出来或许对新接触 NAS 的人有所帮助。 本文记录如何利用Plex 和 Syncthing 搭建家用 NAS,具体地实现了这些功能:

  • P2P 的文件备份。
  • DLNA 媒体服务。
  • 随时上传媒体文件。

笔者的设备:Acer 笔记本(Archlinux),小米 TV(Android)。 可能和您的设备有所区别,但原理类似。我了解到即使对 Windows 版本,用户和权限等策略都是一样的。 或者你可以 安装一个 Arch。

软件介绍

Plex 是一套软件,包括媒体服务器、Android 等终端设备 App。支持转码和基于元数据的分类,以及播放时选择不同的码率。

Syncthing 开放的,去中心化的文件同步软件。P2P 的机制很厉害,居然在公司可以与家里的内网服务同步。

systemd 是 Linux 下很先进的守护进程管理工具,使用方式很简单。一个简单的使用例子可以参考这篇文章:使用systemd管理Node.js应用

搭建 Syncthing 服务

Syncthing 有很多 binary 可以下载,可以挑一个合适的下载安装即可。Archlinux 可以从 AUR 安装:


 
 
  1. yaourt -S syncthing 

用 systemd 启动服务:


 
 
  1. systemctl start syncthing@harttle.service 
  2. systemctl enable syncthing@harttle.service 

@harttle 后缀让它工作在 harttle 用户下,需要改成你的系统用户名。 这样 Syncthing 创建的文件拥有 harttle 用户的默认权限,Owner 为harttle:users。

启动后可以访问 来使用服务。你需要在每台设备上都安装 Syncthing, 让它们交换 ID 后即可互相同步文件。备份策略和共享目录都可以在 Web UI 上设置。 如果你的服务像 [Harttle](/) 一样启动在远程服务器上,可以借助 SSH 把 Web UI 的端口 Forward 到本地:


 
 
  1. # 用你的服务器地址 
  2. ssh 192.168.1.xx -L 8384:localhost:8384 

然后访问本地的 。后面的 Plex Web 端口也是一样,不再赘述。

搭建 Plex 服务

同样地,安装 AUR plex 并启动:


 
 
  1. yaourt -S plex-media-server 
  2. systemctl start plexmediaserver 
  3. systemctl enable plexmediaserver 

为了让 Plex 可以读写 Syncthing 的文件,需要让 Plex 也运行在 harttle 用户。 需要做下面的两件事情。

1. 更改启动用户

编辑 Systemd Unit 文件 /etc/systemd/system/multi-user.target.wants/plexmediaserver.service,把 User 和 Group 改成你的:


 
 
  1. [Service] 
  2. User=harttle 
  3. Group=users 

2. 更改运行时文件权限

由于我们更改了 Plex 启动用户,也需要相应更改 Plex 的工作区目录 /var/lib/plex。 这个目录的 Owner 应当与启动用户一致,否则无法正常启动。 如果你的目录不是这个,可以从 Systemd Unit 文件中的配置一路追踪到这个目录。


 
 
  1. chown harttle:users -R /var/lib/plex 

日志文件也在这里,可以用来调试:/var/lib/plex/Plex\ Media\ Server/Logs。 然后重启 Plex 的 Systemd Unit:


 
 
  1. systemctl daemon-reload  
  2. systemctl restart plexmediaserver 

访问 localhost:32400 即可进行媒体内容和目录的管理。 要借助 Syncthing 上传到 Plex,只需要把 Syncthing 和 Plex 目录设成一样的, 上传 Syncthing 结点的对应文件夹的模式设为仅发送。

客户端

如果你从局域网其他机器也可以访问 Plex Media Server 就说明服务已经成功启动了。 在启动 Plex 后就可以从小米电视访问 DLNA 服务了。安装 Plex Android 客户端后会更容易使用,从这里下载: https://www.apkmirror.com/apk/plex-inc/plex/。附使用截图:


本文作者:佚名

来源:51CTO

相关文章
|
存储 资源调度 监控
|
8月前
|
Java Linux 定位技术
Minecraft配置文件参数说明(JAVA服务器篇)
Minecraft JAVA版服务器启动后会生成server.properties配置文件,位于minecraft_server/根目录下。该文件包含多项关键设置,如游戏模式(gamemode)、最大玩家数(max-players)、难度(difficulty)等。此文档详细说明了各配置项的功能与默认值,帮助用户高效管理服务器环境。
1930 60
|
程序员 数据库 微服务
长事务管理不再难:Saga模式全面解析
本文介绍了分布式事务中的Saga模式,它用于解决微服务架构下的事务管理问题。Saga通过一系列本地事务和补偿操作确保最终一致性,分为编排和协同两种模式。文章重点讲解了编排模式,其中 Saga 协调者负责事务的执行和失败后的补偿。Saga 模式适用于业务流程明确且需要严格补偿的场景,能有效管理长事务,但实现上可能增加复杂性,并存在一致性延迟。文章还讨论了其优缺点和适用场景,强调了在面对分布式事务挑战时,Saga 模式的价值和潜力。
2408 6
|
Kubernetes 调度 算法框架/工具
NVIDIA Triton系列02-功能与架构简介
本文介绍了NVIDIA Triton推理服务器的功能与架构,强调其不仅适用于大型服务类应用,还能广泛应用于各类推理场景。Triton支持多种模型格式、查询类型和部署方式,具备高效的模型管理和优化能力,确保高性能和系统稳定性。文章详细解析了Triton的主从架构,包括模型仓库、客户端应用、通信协议和推理服务器的核心功能模块。
568 1
NVIDIA Triton系列02-功能与架构简介
|
开发框架 搜索推荐 数据中心
KDD2024最佳学生论文解读,中科大、华为诺亚:序列推荐新范式DR4SR
【9月更文挑战第25天】近年来,随着人工智能技术的发展,序列推荐系统(SR)因能捕捉用户动态偏好而在日常生活中愈发重要。然而,数据质量问题常被忽视。为解决此问题,中国科学技术大学与华为诺亚方舟实验室联合提出DR4SR,一种通过数据集再生提升序列推荐系统性能的新范式。DR4SR采用模型无关的数据再生方法,增强数据集的多样性和泛化能力,且可通过DR4SR+进行个性化调整以适应不同模型需求。实验表明,DR4SR和DR4SR+在多个数据集上显著提升了推荐系统性能。尽管面临计算资源和过拟合风险等挑战,该范式仍展现出巨大潜力。
374 7
|
前端开发 算法 JavaScript
无界SaaS模式深度解析:算力算法、链接力、数据确权制度
私域电商的无界SaaS模式涉及后端开发、前端开发、数据库设计、API接口、区块链技术、支付和身份验证系统等多个技术领域。本文通过简化框架和示例代码,指导如何将核心功能转化为技术实现,涵盖用户管理、企业店铺管理、数据流量管理等关键环节。
|
算法 定位技术 数据中心
中国工商银行数据中心科技菁英校园招聘面试经历与体检情况
中国工商银行数据中心科技菁英校园招聘面试经历与体检情况
413 2
|
Web App开发 弹性计算 Linux
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
|
关系型数据库 Linux 数据库
|
网络安全 数据安全/隐私保护 网络虚拟化
Github学生包云服务器
Github学生包云服务器
940 0