MediaManager:颠覆传统媒体管理,打造一体化智能影音中心
【免费下载链接】MediaManagerA modern selfhosted media management system for your media library项目地址: https://gitcode.com/gh_mirrors/med/MediaManager
还在为管理庞大的影视收藏库而烦恼吗?你是否厌倦了在Sonarr、Radarr、Overseer等多个独立工具间来回切换?MediaManager应运而生,这是一个专为现代家庭和企业设计的全功能媒体库管理系统,将传统"Arr"生态系统的碎片化体验整合到一个简洁、强大的平台中。
🎬 从杂乱到有序:一体化媒体管理的革命
MediaManager的核心价值在于统一管理。想象一下,你可以在同一个界面中浏览电视剧和电影,使用相同的搜索机制,共享相同的下载客户端配置,并且所有数据都存储在统一的数据库中。这种一体化设计不仅简化了操作流程,还大幅减少了系统维护的复杂性。
传统的媒体管理方案往往需要部署多个独立服务:Sonarr负责电视剧,Radarr处理电影,Overseer用于请求管理,Jellyseer则作为前端界面。每个服务都有自己的数据库、配置文件和用户界面,导致资源浪费和管理混乱。MediaManager通过模块化架构解决了这一问题,将所有这些功能整合到一个协调运行的系统中。

🔧 技术架构:现代Python栈的完美应用
MediaManager基于FastAPI构建,充分利用了Python生态系统的优势。项目的依赖关系展示了其技术选型的深思熟虑:
- FastAPI + SQLAlchemy:提供高性能的RESTful API和ORM支持
- Taskiq:异步任务队列系统,确保后台任务高效执行
- Pydantic:强大的数据验证和配置管理
- qbittorrent-api & transmission-rpc:支持主流下载客户端
- tmdbsimple & tvdb-v4-official:与两大元数据提供商深度集成
项目的模块化设计清晰可见,每个功能域都有独立的包结构:
media_manager/ ├── auth/ # 认证和用户管理 ├── movies/ # 电影相关功能 ├── indexer/ # 索引器和搜索 ├── notification/ # 通知系统 ├── common/ # 共享工具和模型 └── database/ # 数据库配置这种架构确保了代码的可维护性和可扩展性,新功能可以轻松添加而不影响现有系统。
🚀 快速部署:Docker带来的极致便利
MediaManager专为容器化部署设计,只需几条命令即可启动完整系统:
# 下载最新配置文件 wget -O docker-compose.yaml https://gitcode.com/gh_mirrors/med/MediaManager/-/raw/master/docker-compose.yaml # 创建配置目录 mkdir config wget -O ./config/config.toml https://gitcode.com/gh_mirrors/med/MediaManager/-/raw/master/config.example.toml # 启动服务 docker compose up -d配置文件采用TOML格式,结构清晰易懂。核心配置包括:
[misc] frontend_url = "http://localhost:8000" tv_directory = "/data/tv" movie_directory = "/data/movies" [database] host = "db" port = 5432 user = "MediaManager" [torrents.qbittorrent] enabled = true host = "http://qbittorrent:8080" username = "admin"系统支持自定义媒体库,可以按照类型、质量或任何你喜欢的分类方式组织内容:
[[misc.tv_libraries]] name = "Live Action" path = "/data/tv/live-action" [[misc.movie_libraries]] name = "Documentary" path = "/data/movies/documentary"
🔐 安全认证:企业级访问控制
MediaManager提供了多种认证方式,满足不同使用场景的需求:
内置用户系统
支持传统的用户名/密码注册和登录,管理员可以控制注册权限,防止未经授权的访问。
OAuth 2.0 / OIDC集成
对于企业用户或希望使用现有身份提供商的场景,MediaManager支持OpenID Connect协议:
[auth.openid_connect] enabled = true client_id = "your-client-id" client_secret = "your-client-secret" configuration_endpoint = "https://your-oidc-provider/.well-known/openid-configuration" name = "Your Identity Provider"灵活的权限管理
系统支持细粒度的权限控制,管理员可以:
- 设置特定邮箱为管理员账户
- 控制新用户注册功能
- 管理会话生命周期
- 配置密码重置机制
📡 智能下载:自动化媒体获取流程
MediaManager的下载系统是其核心功能之一,支持多种下载客户端和配置选项:
多客户端支持
- qBittorrent:功能全面的BitTorrent客户端
- Transmission:轻量级且高效的Torrent客户端
- SABnzbd:Usenet下载器
智能搜索和过滤
系统内置了强大的搜索功能,可以同时查询多个索引器(支持Prowlarr和Jackett),并根据预设的评分规则自动选择最佳结果。

文件组织自动化
下载完成后,MediaManager会自动:
- 重命名文件以符合标准化命名约定
- 将文件移动到正确的媒体库目录
- 更新数据库中的媒体信息
- 触发元数据刷新
🔔 通知系统:实时掌握媒体动态
MediaManager的通知系统确保你不会错过任何重要事件:
多种通知渠道
- 电子邮件:传统的SMTP邮件通知
- Gotify:自托管推送服务
- Ntfy:简单的HTTP推送
- Pushover:移动设备推送
可配置的事件类型
你可以选择接收哪些类型的通知:
- 新剧集/电影下载完成
- 下载失败或出错
- 系统维护提醒
- 用户活动通知
🛠️ 开发者友好:易于扩展和维护
MediaManager不仅对终端用户友好,对开发者同样友好:
清晰的API文档
基于FastAPI的自动API文档生成,访问/docs即可查看完整的API接口和交互式测试界面。
模块化架构
每个功能模块都是独立的,便于:
- 添加新的元数据提供商
- 集成新的下载客户端
- 扩展通知渠道
- 自定义媒体处理流程
完善的日志和监控
系统提供详细的日志记录,支持日志级别配置和结构化日志输出,便于问题排查和性能监控。
🌟 实际应用场景
家庭媒体中心
对于家庭用户,MediaManager提供了一个统一的界面来管理所有影视内容。父母可以轻松找到适合孩子的节目,而技术爱好者则可以享受自动化的下载和整理功能。
小型企业媒体库
企业可以使用MediaManager来管理内部培训视频、产品演示或营销素材。OIDC集成使得员工可以使用公司账户登录,权限管理确保敏感内容的安全。
内容创作者的工作流
视频创作者可以使用MediaManager来跟踪自己的作品库,自动下载参考素材,并管理最终成品的发布版本。
📈 未来展望
MediaManager的开发路线图包括:
- 移动端应用的开发
- 更多元数据提供商的集成
- 高级媒体分析和推荐功能
- 多用户协作功能
- 云存储集成
🎯 开始你的媒体管理之旅
无论你是个人媒体爱好者还是企业IT管理员,MediaManager都提供了一个强大而灵活的解决方案。它的开源特性意味着你可以完全控制自己的数据,而活跃的社区确保了持续的改进和支持。
通过Docker的简单部署,你可以在几分钟内拥有一个功能完整的媒体管理系统。不再需要在多个工具间切换,不再需要维护多个数据库,不再需要学习不同的用户界面。MediaManager将这一切统一起来,让你专注于享受内容,而不是管理工具。
准备好简化你的媒体管理流程了吗?克隆项目仓库开始体验:
git clone https://gitcode.com/gh_mirrors/med/MediaManager.git加入不断增长的MediaManager社区,一起构建更好的媒体管理体验。从今天开始,让你的媒体库管理变得简单、高效、愉悦。
【免费下载链接】MediaManagerA modern selfhosted media management system for your media library项目地址: https://gitcode.com/gh_mirrors/med/MediaManager
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考