diff --git a/apps/emby-pulse/1.2.0.553/data.yml b/apps/emby-pulse/1.2.0.553/data.yml new file mode 100644 index 000000000..1ace2f12b --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/emby-pulse" + edit: true + envKey: EMBY_PULSE_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 10307 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/apps/emby-pulse/1.2.0.553/docker-compose.yml b/apps/emby-pulse/1.2.0.553/docker-compose.yml new file mode 100644 index 000000000..4fe052018 --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true + +services: + emby-pulse: + image: zeyu8023/emby-stats:1.2.0.553 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:10307 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${EMBY_PULSE_ROOT_PATH}/config:/app/config + - ${EMBY_PULSE_ROOT_PATH}/data:/emby-data + environment: + - TZ=Asia/Shanghai + - DB_PATH=/emby-data/playback_reporting.db diff --git a/apps/emby-pulse/1.2.0.553/envs/default.env b/apps/emby-pulse/1.2.0.553/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/emby-pulse/1.2.0.553/envs/global.env b/apps/emby-pulse/1.2.0.553/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/emby-pulse/1.2.0.553/scripts/init.sh b/apps/emby-pulse/1.2.0.553/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/emby-pulse/1.2.0.553/scripts/uninstall.sh b/apps/emby-pulse/1.2.0.553/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/emby-pulse/1.2.0.553/scripts/upgrade.sh b/apps/emby-pulse/1.2.0.553/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/emby-pulse/1.2.0.553/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/emby-pulse/README.md b/apps/emby-pulse/README.md new file mode 100644 index 000000000..18c86fa31 --- /dev/null +++ b/apps/emby-pulse/README.md @@ -0,0 +1,82 @@ +# Emby Pulse + +Emby 服务器的高级伴侣:数据洞察、全能管理与下载自动化助手 + +![Emby Pulse](https://file.lifebus.top/imgs/app_name_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +EmbyPulse(映迹)是专为 Emby 服主打造的现代化“第二控制台”。它不仅提供了极致的数据可视化大盘,还深度集成了用户管理、追剧日历、缺集自动补货、求片流转及媒体报告生成等核心运维功能。 + +核心革新:本系统独家支持“API 穿透”与“数据库直读”双擎路由。这意味着您无需强制挂载 Emby 的数据库文件,仅凭 API Key +即可点亮全站统计,完美适配极空间、群晖、云服务器等各种复杂部署环境。 + +## 特性 + +### 📊 全景仪表盘(Dashboard) + +实时监控:秒级同步当前并发播放人数、客户端类型、IP 地址及转码实时负荷。 +资源概览:直观展示电影、剧集、单集总数,以及总播放次数、累计时长和活跃用户数。 +趋势分析:集成 ECharts 动态图表,支持按天、周、月统计服务器播放热度变化走势。 + +### 🔍 缺集管理(Gap Management)—— 强迫症福音 + +全库扫描:智能比对 Emby 现有剧集与 TMDB 全量数据,精准定位已上线但库内缺失的集数。 +MoviePilot 联动:一键调用 MP 搜索接口,支持根据库内已有版本自动匹配 4K / 1080P / HDR 等基因配型。 +底层下载截胡:推送到 MP 下载整季包时,系统自动切入 qBittorrent / Transmission,物理切除非必要文件,实现“只下载缺的那几集”。 +状态心跳同步:采用焦点唤醒机制,入库后前端数据零延迟自动核销变色。 + +### 📅 追剧日历(TV Calendar) + +全球排期:自动同步本周全球热播剧集更新时间。 +红绿灯状态:🟢 已入库点击直达 Emby 播放;🔴 缺失集数点击自动复制搜索指令。 + +### 🎬 求片系统(Request Center) + +用户求片:支持用户提交电影、剧集、季度等求片请求,统一流转到后台处理。 +状态追踪:支持待处理、已下载、已入库、已拒绝等完整状态链路。 +自动联动:媒体一旦成功入库,可自动完成对应求片工单闭环。 +机器人协同:支持通过 Telegram 等渠道触发求片反馈与处理提醒。 + +### 👤 用户中心(User Center) + +账号信息:集中展示用户基础资料、到期时间、备注等关键信息。 +权限与期限管理:支持账号续期、到期控制、状态管理与生命周期维护。 +行为回看:结合统计系统查看用户活跃度、观影偏好与使用趋势。 +统一入口:将用户、邀请、求片、统计等能力收拢到一个面板中管理。 + +### 🕵 数据洞察(Insights) + +用户画像:分析用户习惯,解锁“深夜修仙”“带薪观影”“全平台制霸”等趣味成就勋章。 +入驻溯源:直接读取 Emby 官方 API 注册时间,精准还原用户入驻服务器的真实天数。 +画质审计:盘点媒体库 4K、HDR、杜比视界占比;自动筛选低画质资源(SD / 480P),方便服主进行洗版优化。 + +### 🎨 映迹工坊(Report Generator) + +多维报表:自动生成日报、周报、月报及年度总结。 +网易云风格:内置黑金、赛博、极光、落日等精美视觉主题,支持一键生成长图。 +社群互动:支持将报表长图自动推送到关联的 Telegram 频道。 + +### 🎟 用户与邀请系统 + +邀请注册:支持生成带有效期的邀请链接,如 7 天、30 天、永久。 +自助注册页:用户可通过邀请链接自助建号,无需管理员干预。 +过期管理:支持账号自动到期锁定、批量续期及强制重置密码。 + +### 🤖 Telegram 机器人助理 + +实时推送:入库自动发送精美海报磁贴,播放 / 停止状态实时反馈。 +防御引擎:毫秒级识别并拦截黑名单客户端,保护服务器资源。 +便捷交互:支持 /search 搜片、/stats 数据盘点、/check 系统诊断。 + +### 🛠 . 系统运维 + +任务管理:可视化管理 Emby 所有计划任务,支持手动触发与执行状态监控。 +智能缓存:前端自定义缓存策略,兼顾响应速度与数据新鲜度。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) +![Ms Studio](https://analytics.lifebus.top/p/wJix5nI1W) diff --git a/apps/emby-pulse/data.yml b/apps/emby-pulse/data.yml new file mode 100644 index 000000000..965082114 --- /dev/null +++ b/apps/emby-pulse/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + key: emby-pulse + name: Emby Pulse + tags: + - WebSite + - Local + shortDescZh: Emby 服务器的高级伴侣 + shortDescEn: Advanced companion for Emby server + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/zeyu8023/emby-pulse/ + github: https://github.com/zeyu8023/emby-pulse/ + document: https://github.com/zeyu8023/emby-pulse/ + architectures: + - amd64 + - arm64 diff --git a/apps/emby-pulse/logo.png b/apps/emby-pulse/logo.png new file mode 100644 index 000000000..d7555efaa Binary files /dev/null and b/apps/emby-pulse/logo.png differ