简介

本文记录了我在NAS上搭建家庭影音中心使用的各种服务和工具,以及它们之间的依赖关系,方便有需要的朋友参考。本系统不仅可以在家庭局域网内使用,还通过ZeroTier虚拟局域网和Cloudflare Tunnel实现了远程访问功能。

服务

以下是我在docker上部署的服务和群晖套件:

服务名称类型依赖关系GitHub链接
iCloudphotos群晖套件-boredazfcuk/icloudphotos
qBittorrent群晖套件-linuxserver/qbittorrent
Alist群晖套件-alist-org/alist
ANI-RSS群晖套件qBittorrentSonarr/Sonarr
Bazarr群晖套件Sonarr, Radarrmorpheus65535/bazarr
Prowlarr群晖套件Sonarr, RadarrProwlarr/Prowlarr
Radarr群晖套件qBittorrent, ProwlarrRadarr/Radarr
Sonarr群晖套件qBittorrent, ProwlarrSonarr/Sonarr
JellyseerrdockerEmbyFallenbagel/jellyseerr
MinIOdocker-minio/minio
Embydocker-emby/embyserver
Sub-Storedocker-sub-store-org/Sub-Store
Homerdocker-bastienwirtz/homer
Nginx Proxy Managerdocker-NginxProxyManager/nginx-proxy-manager
MongoDBdocker-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进行反向代理和域名解析。

远程访问

远程访问采用了两种方案:

  1. ZeroTier虚拟局域网

    • 在NAS和需要远程访问的设备上安装ZeroTier客户端
    • 创建一个ZeroTier网络,并将所有设备加入该网络
    • 设备加入后获得虚拟IP,可以像在局域网中一样访问NAS上的服务
    • 适合需要全面访问NAS系统的场景
  2. 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(手机端)]