简介
本文记录了我在NAS上搭建家庭影音中心使用的各种服务和工具,以及它们之间的依赖关系,方便有需要的朋友参考。本系统不仅可以在家庭局域网内使用,还通过ZeroTier虚拟局域网和Cloudflare Tunnel实现了远程访问功能。
服务
以下是我在docker上部署的服务和群晖套件:
服务名称 | 类型 | 依赖关系 | GitHub链接 |
---|---|---|---|
iCloudphotos | 群晖套件 | - | boredazfcuk/icloudphotos |
qBittorrent | 群晖套件 | - | linuxserver/qbittorrent |
Alist | 群晖套件 | - | alist-org/alist |
ANI-RSS | 群晖套件 | qBittorrent | Sonarr/Sonarr |
Bazarr | 群晖套件 | Sonarr, Radarr | morpheus65535/bazarr |
Prowlarr | 群晖套件 | Sonarr, Radarr | Prowlarr/Prowlarr |
Radarr | 群晖套件 | qBittorrent, Prowlarr | Radarr/Radarr |
Sonarr | 群晖套件 | qBittorrent, Prowlarr | Sonarr/Sonarr |
Jellyseerr | docker | Emby | Fallenbagel/jellyseerr |
MinIO | docker | - | minio/minio |
Emby | docker | - | emby/embyserver |
Sub-Store | docker | - | sub-store-org/Sub-Store |
Homer | docker | - | bastienwirtz/homer |
Nginx Proxy Manager | docker | - | NginxProxyManager/nginx-proxy-manager |
MongoDB | docker | - | mongodb/mongo |
ZeroTier | 群晖套件 | - | zerotier/ZeroTierOne |
Cloudflare Tunnel | 群晖套件 | - | cloudflare/cloudflared |
服务功能说明
- iCloudphotos: 从iCloud自动下载照片到NAS存储
- qBittorrent: BT下载客户端,用于下载影视资源
- Alist: 文件列表程序,支持多种存储,提供统一的访问接口
- ANI-RSS: 动画RSS订阅服务
- Bazarr: 字幕管理工具,自动下载匹配的字幕
- Prowlarr: 索引器管理工具,为Sonarr和Radarr提供资源搜索
- Radarr: 电影自动化下载管理工具
- Sonarr: 电视剧自动化下载管理工具
- Jellyseerr: 媒体请求系统,用户可以请求下载新的影视内容
- MinIO: 对象存储服务,用于存储各种数据
- Emby: 媒体服务器,用于管理和播放媒体内容
- Sub-Store: 订阅管理工具
- Homer: 个人仪表盘,集中展示和访问各种服务
- Nginx Proxy Manager: 反向代理管理工具,用于管理各种服务的访问
- MongoDB: 数据库服务,为其他服务提供数据存储支持
- ZeroTier: 虚拟局域网服务,实现远程设备如同局域网内一样访问NAS
- Cloudflare Tunnel: 安全隧道服务,将内部服务如MinIO等安全地暴露到公网,无需公网IP和端口转发
对外服务
- ZeroTier: 虚拟局域网服务,实现远程设备如同局域网内一样访问NAS
- Cloudflare Tunnel: 安全隧道服务,将内部服务如MinIO等安全地暴露到公网,无需公网IP和端口转发
网络架构
内网访问
家庭局域网内的设备可以直接通过内网IP访问NAS上的各项服务,通过Nginx Proxy Manager进行反向代理和域名解析。
远程访问
远程访问采用了两种方案:
ZeroTier虚拟局域网:
- 在NAS和需要远程访问的设备上安装ZeroTier客户端
- 创建一个ZeroTier网络,并将所有设备加入该网络
- 设备加入后获得虚拟IP,可以像在局域网中一样访问NAS上的服务
- 适合需要全面访问NAS系统的场景
Cloudflare Tunnel:
- 在NAS上部署Cloudflare Tunnel客户端(cloudflared)
- 通过Cloudflare控制台配置需要对外暴露的服务(如MinIO)
- 服务通过加密隧道连接到Cloudflare网络,再通过Cloudflare的域名解析服务对外提供访问
- 无需公网IP和端口转发,更加安全
- 适合需要从任何地方访问特定服务的场景
影音中心的搭建
graph TD
A[openclush代理] --> B[qBittorrent(bt种子下载)]
A --> C[Prowlarr(电影/电视剧订阅)]
A --> D[ani-rss(番剧订阅)]
B --> E[Emby(视频播放器)]
C --> F[Jellyseerr(统一入口)]
E --> G[vidhub(电视端)]
E --> H[infuse(手机端)]