随着网盘中的电影、剧集、音乐和有声书不断增加,文件命名混乱、目录结构不统一、媒体信息缺失以及跨服务播放等问题也会随之出现。

FlowMedia 正是为解决这些问题而设计的一套自托管多云媒体管理平台

FlowMedia 通过 Docker 部署,可统一管理多个网盘账号和媒体目录,完成媒体归档、元数据刮削、STRM 或软链接生成、订阅转存、消息通知以及媒体服务接入,帮助用户建立一套更完整、更易维护的私人媒体库自动化流程。

边界说明:FlowMedia 只提供媒体自动化管理能力,不提供、不存储、不索引、不分发任何媒体资源。媒体内容及账号的来源、版权与使用方式由使用者自行负责。




一、FlowMedia 的项目定位

FlowMedia 的核心定位是“自托管多云媒体中枢”,是位于网盘、媒体目录和媒体服务器之间的自动化管理层。

一个典型的 FlowMedia 工作流程如下:

  1. 接入网盘账号或容器内可见的挂载目录;
  2. 扫描电影、剧集、音乐或有声书文件;
  3. 匹配在线元数据并整理文件名和目录结构;
  4. 生成 STRM 或软链接;
  5. 将结果交给 Emby、Navidrome 或 Audiobookshelf 扫描;
  6. 通过媒体服务完成浏览、管理和播放。




二、FlowMedia 的核心功能

1. 七家网盘统一接入

FlowMedia 目前支持以下七家网盘:

  • 115 网盘
  • 123 云盘
  • 阿里云盘
  • 天翼云盘
  • 光鸭云盘
  • 迅雷云盘
  • 夸克网盘

用户可以在同一套界面中完成网盘账号配置、目录浏览、请求间隔设置和转存目录选择。根据不同网盘提供的能力,FlowMedia 还可以参与分享链接识别、同盘转存、文件标识解析和播放取链。

如果需要本地扫描、媒体归档、音乐软链接或挂载目录管理,也可以配合 CloudDrive2 或其他可靠的网盘挂载工具使用。


2. 电影与剧集自动归档

FlowMedia 可以扫描指定目录中的电影和剧集,通过 TMDB 匹配媒体信息,并按照用户配置的规则整理目录和文件名称。

视频归档流程可生成或处理以下内容,归档任务可以手动执行,也可以通过定时任务、目录监控或其它自动化入口触发:

  • 规范化的电影和剧集目录;
  • 统一的文件命名;
  • NFO 元数据文件;
  • 海报、背景图等图片;
  • 归档任务、执行历史和失败记录;
  • 按条件执行的版本准入和权重洗版。


3. 音乐整理与歌词管理

音乐归档是 FlowMedia 的独立媒体工作流。系统可以读取本地音频标签,并按配置顺序从 QQ 音乐、网易云音乐和酷狗音乐等来源匹配歌曲信息。

匹配成功后,可以补全歌手、专辑、年份、封面和歌词等信息,并按照规则重新组织音乐目录。歌词既可以保存为音频旁的同名 LRC 文件,也可以写入音频标签,以兼容不同的 Navidrome 和 OpenSubsonic 客户端。


4. 有声书整理

FlowMedia 同样提供独立的有声书归档与同步功能。系统可以通过 Google Books、Open Library 和 iTunes 等来源补全书名、作者、朗读者、系列、出版信息、简介和封面。

整理完成后,还可以生成 metadata.json、metadata.opf、封面和音频标签等内容,方便 Audiobookshelf 或其他有声书管理工具读取。


5. STRM 与软链接同步

完成媒体归档后,FlowMedia 可以把整理结果同步到媒体服务器使用的目录:

  • 电影和剧集主要生成 STRM;
  • 有声书固定使用 STRM;
  • 音乐使用软链接,并同步歌词和相关文件。

系统支持全量同步、增量同步、定时同步和归档完成后的任务联动。每个文件的同步结果都会写入独立历史,便于定位失败文件和重新执行任务。


6. Telegram 与 TMDB 订阅

FlowMedia 可以订阅 Telegram 公开频道中的网盘分享信息,并通过 TMDB 补充影视详情。用户确认资源后,可以选择对应网盘和保存目录完成转存。

系统也支持在 TMDB 热门或搜索结果中创建电影、剧集订阅,并通过订阅日历查看上映、分季和分集播出信息。


7. 通知与自动化联动

FlowMedia 支持企业微信和 Telegram 通知,可将归档、同步、订阅转存及任务异常等状态发送到常用消息端。

归档任务与链接同步任务之间还可以建立联动关系:归档完成后,系统自动执行指定的同步任务,从而减少重复操作。


8. 仪表盘与运行环境管理

FlowMedia 内置可自定义的仪表盘,用于集中查看:

  • 系统 CPU、内存与磁盘状态;
  • 网盘空间和连接状态;
  • 归档与链接同步任务;
  • 最近入库内容;
  • 订阅日历;
  • 媒体服务播放活动;
  • 容器和镜像状态。

挂载 Docker Socket 后,还可以在页面中管理 Compose 项目、容器和镜像。FlowMedia 也支持登记外部 Linux 云服务器,并通过 SSH 查看服务器资源快照。




三、支持的媒体服务

Emby电影与剧集媒体库管理和播放6689
Navidrome音乐媒体库管理及 Subsonic/OpenSubsonic 客户端接入6699
Audiobookshelf有声书媒体库管理和客户端播放7799

FlowMedia 为三套媒体服务提供独立的配置和代理入口。

部分符合条件的云盘播放请求可以进入外部 302 或认证中继链路,但实际播放效果仍会受到网盘账号权益、网络出口、播放器 UA、Range/HEAD 请求以及网盘风控策略影响。




四、Docker 部署要求

操作系统Linux,可运行在 Ubuntu、Debian、群晖、飞牛、Unraid 等环境
DockerDocker 24.0 或更高版本
ComposeDocker Compose v2
硬件资源建议至少 2 核 CPU、8GB 内存
配置存储建议预留 5GB 以上,并建立独立备份
授权有效的 LICENSE_KEY,一机一容器一码




五、部署 FlowMedia

下面是一份基础部署示例。请先根据自己的 NAS 或服务器环境修改宿主机目录,并填写有效的授权码。

services:
  flowmedia:
    image: treehello/flowmedia:latest
    container_name: flowmedia
    restart: always
    ports:
      - "6688:6688"
      - "6689:6689"
      - "6699:6699"
      - "7799:7799"
    volumes:
      - ./config:/app/config
      - /mnt/media:/media
      - /mnt/music:/music
      - /mnt/audiobooks:/audiobooks
      - /mnt/CloudNAS:/CloudNAS:rslave
      - ./cover:/cover
      - ./favicon:/favicon
      - ./images:/images
      # 仅在需要 Docker 管理或页面重配反代端口时启用
      # - /var/run/docker.sock:/var/run/docker.sock
    environment:
      LICENSE_KEY: "请替换为有效授权码"
      DEFAULT_USERNAME: "admin"
      DEFAULT_PASSWORD: ""
      LOG_LEVEL: "INFO"
      TZ: "Asia/Shanghai"
      PUID: "0"
      PGID: "0"
      EMBY_REVERSE_PROXY_PORT: "6689"
      NAVIDROME_REVERSE_PROXY_PORT: "6699"
      AUDIOBOOKSHELF_REVERSE_PROXY_PORT: "7799"
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

完成配置后,在 docker-compose.yml 所在目录执行:

docker compose pull
docker compose up -d
docker compose ps
docker compose logs -f --tail=200 flowmedia

容器稳定运行后,通过以下地址访问 FlowMedia:

http://服务器IP:6688

如果 DEFAULT_PASSWORD 保持为空,FlowMedia 会在首次启动时生成一次性随机密码,并保存到持久化配置目录下的 .initial_admin_password 文件。登录后应立即修改管理员密码。




六、首次使用建议

  1. 登录后修改管理员密码;
  2. 配置实际使用的网盘账号或挂载目录;
  3. 配置 TMDB、网络代理和媒体服务器;
  4. 使用可删除的小样本创建归档任务;
  5. 核对文件命名、目录、NFO、封面、Tag 和歌词;
  6. 创建链接同步任务;
  7. 让媒体服务器扫描目标目录;
  8. 完成一次播放、拖动进度和续播测试;
  9. 确认整个流程稳定后,再启用大目录和定时任务。

FlowMedia 与媒体服务器必须将同一个宿主机目录映射为相同的容器绝对路径。音乐软链接和有声书 STRM 场景还需要 Navidrome 或 Audiobookshelf 能够访问链接所指向的 CloudNAS 源目录。




七、数据备份与升级

/app/config 是 FlowMedia 最重要的持久化目录,其中保存数据库、账号设置、任务、历史和运行配置。升级或重建容器前,应先停止服务并备份该目录。

docker compose stop flowmedia
cp -a ./config "./config.backup-$(date +%Y%m%d-%H%M%S)"

docker compose pull flowmedia
docker compose up -d flowmedia
docker compose logs -f --tail=200 flowmedia

不要在升级、排障或重新创建容器时删除配置目录。如果需要回滚,应同时恢复升级前的镜像版本和配置备份。




八、安全注意事项

  • 不要公开授权码、管理员密码、Cookie、Token、日志原文或配置目录;
  • 不要将带有管理能力的 6688 端口直接暴露到公网;
  • 远程访问建议配置 HTTPS、访问控制或可信 VPN;
  • Docker Socket 具有较高的宿主机管理权限,不使用相关功能时应移除挂载;
  • 正式授权码与测试授权码均为一机一容器一码,不应共享或同时用于多个实例;
  • 正式运行批量任务前,务必使用独立测试目录完成全流程验证。




九、FlowMedia 适合哪些用户?

  • 使用 NAS 或家庭服务器管理私人媒体库的用户;
  • 媒体文件分散在多个网盘,希望统一管理的用户;
  • 正在使用 Emby、Navidrome 或 Audiobookshelf 的用户;
  • 希望自动整理文件名、目录、封面和媒体元数据的用户;
  • 需要 STRM、软链接、订阅转存和消息通知自动化的用户;
  • 希望通过同一个页面查看任务、媒体服务和 Docker 环境的用户。




十、总结

FlowMedia 将多云网盘、媒体归档、链接同步、媒体服务接入、订阅转存和运行管理整合到同一套自托管平台中。对于拥有大量电影、剧集、音乐或有声书,并希望建立长期可维护私人媒体库的用户而言,它能够显著减少重复整理和跨服务配置工作。

项目相关入口: