一、前言
看论坛最近有不少坛友想开emby的贴子,我就分享一下我这个有些粗糙的原创图文教程,提供一种思路与参考,不具权威性,欢迎指正交流
因为是先在博客写的再发到论坛,转换markdown格式后,如果文本观看体验不佳,可以移步博客原文阅读:https://xxxh.de/archives/7
本教程适用性:只针对境外服务器搭建,国内服务器、家里云或者家庭NAS,可能不具参考意义。本教程linux选择的是debian,其他linux平台的命令可以通过这个网站查看:https://linux.xxxh.de;并且本教程不涉及网盘挂载等便宜易翻车的方案;
由于博主非计算机相关专业的,操作大部分是基于可视面板实现的,都是docker安装,利好小白学习,大佬请回避; 本文为本人原创内容,欢迎转载但是请留言并说明出处
二、准备工作
①一台配置足够的服务器(必须)
我自己用的hetzner的独服,配置够大,便宜的机器一个月几百块,也有上千的高配。
走我的hetzner的aff注册账号,可以白嫖20欧元,如果新注册没有走aff,可以联系客服发送aff链即可获得20欧元余额。注意:这家服务商注册账号需要真实信息与真实网络环境
https://hetzner.cloud/?ref=pzUgMGtp6xuJ
②一个合适的域名(可选)
③一个cloudflare账号:用于域名解析(可选)
④TGBotToken与TGapi、hash(必须)
TGapi、hash获取有些难度,但是本教程附有详细步骤
⑤PT站账号(可选)
三、安装1panel并扩充应用市场
①进入服务器终端,安装1panel
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh
②补充应用市场
wget -P /opt/1panel/resource/apps/local https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
rm -rf /opt/1panel/resource/apps/local/appstore-localApps
rm -rf /opt/1panel/resource/apps/local/localApps.zip
输入账号密码后,进入面板。左侧从上往下数,第二个应用商店
,第三个网站
,第五个数据库
,第六个容器
,第七个文件
。在本教程中,会使用到这几个功能页面,提前熟悉并了解

四、配置emby本体
①安装emby

注意:没有特殊要求就一切默认即可,记得一定要允许端口外部访问
②进入容器编辑把本机目录挂载到指定目录,比如:/home/emby

③获取API安装playback reporting
在浏览器输入http://IP:port访问,完成一系列设置后并创建好管理员账号。
进入管理后台,获取API,复制出来备用

并在插件市场中下载安装playback reporting,如图所示

④分类整理影片,设置分类封面
可以手动,也可以借助MoviePilot自动整理,下文讲解。封面图片URL:
https://img.xxxh.de/1739805106353.png
https://img.xxxh.de/1739805087381.png
https://img.xxxh.de/1739804955461.png
https://img.xxxh.de/1739805001022.png
https://img.xxxh.de/1739805019530.png
https://img.xxxh.de/1739805064791.png
https://img.xxxh.de/1739805037863.png
https://img.xxxh.de/1739804939076.png
https://img.xxxh.de/1739804815048.png
https://img.xxxh.de/1739804915888.png
https://img.xxxh.de/1739804892310.png
https://img.xxxh.de/1739804867541.png
https://img.xxxh.de/1739804850515.png
在媒体库处编辑,粘贴上文的封面URL

效果如图

五、安装数据库
①安装MySQL
应用商店找到MySQL安装,一切默认即可,记得打开允许端口外部访问

②创建数据库
进入面板左侧第五个:数据库。复制刚刚创建的数据库用户名密码,备用

复制IP地址跟端口,备用

六、获取TGBotToken与TGapi、hash
①创建bot并获取Tokem
去https://t.me/BotFather 输入/newbot,起一个合适的名字与用户名,复制如图所示Token,备用

重要:bot为群管理员,拥有删除消息、置顶消息,踢出成员权限
②获取TG用户的API与hash




3.点击创建应用提交表格后,如果成功你将获得一个 "App api_id" 和 "App api_hash"。这就是你的API和Hash,复制备用。如图

4.如果申请失败:账号的国家和ip节点最好在同一个地区,例如:香港的tg账号用香港的节点申请api,据说家宽IP申请成功率更高

注意:一个账号只能申请一个api
七、集成TGBot实现自动化管理
首先感谢开源作者的贡献,使用项目开源地址:https://github.com/berry8838/Sakura_embyboss
1.进入服务器终端,拉取代码
拉取的源码文件路径默认在/root/Sakura_embyboss
sudo apt install python3-pip
git clone https://github.com/berry8838/Sakura_embyboss.git && cd Sakura_embyboss && chmod +x main.py
如果服务器没有git,安装:
# 检查是否已经安装
git --version
# 安装
apt-get install git
2.编辑config.json
进入默认路径/root,进来后就会看到拉取到的源码文件:Sakura_embyboss。点进去找到config.json这个文件
或者在如图位置直接输入:/root/Sakura_embyboss
,可以实现同样的效果

必填变量的配置填写指南 |
|
|
变量名称 |
填写描述 |
|
Telegram Bot |
bot_name |
bot的username,比如我的机器人@emby_ikun_bot,就填emby_ikun_bot |
bot_token |
bot的API token ,在 @Botfather 创建bot时的Token,上文有讲述过 |
|
owner_api |
API,获取方法上文有讲述 |
|
owner_hash |
Hash,获取方法上文有讲述 |
|
owner |
拥有者的TGid |
|
group |
授权群组id,如我的IKUN群组是-1002366246494,未授权的群组拉bot会自动退出。不在群组的成员会提示先加入群组 |
|
main_group |
群组的username, 形如 @su_yxfy 中的 su_yxfy或私密群组的邀请链接,如 https://t.me/+I1YBb-lW8k0xOGE0中的+I1YBb-lW8k0xOGE0 |
|
chanel |
填写方式同 main_group,例如我的频道:Asukacute |
|
bot_photo |
形如https://img.xxxh.de/1742561996081.png,bot发送消息时的配图,可以通过我的图床上传图片:https://img.xxxh.de |
|
admins |
默认[ ] 为空,可以将想要赋予权限的tg用户id填进 |
|
Emby |
emby_api |
emby的api_key,【Emby Service 管理】-> 【高级】->【API密钥】创建一个,上文有讲述 |
emby_url |
形如http://255.255.255.36:8096(纯ip)或者https://emby.xxxh.de(有反代) 最后不带斜杠,为发起请求emby的地址 |
|
emby_line |
【服务器板块】展示给用户的emby地址和信息,仅支持telegram的MarkdownV2写法,例如:\n普通线路:https://emby.xxxh.de\n端口:443\n\n备用线路:http://157.180.0.157:8096\nhttp://[2a01:4f9:3100:28ec::2]:8096,效果如图所示 |
|
Database(Mysql) |
db_host |
数据库的ip255.255.255.36,端口默认3306 |
db_user |
数据库用户名,比如上文的emby |
|
db_pwd |
数据库密码,上文的数据库密码 |
|
db_name |
数据库名,上文截图的emby |
|
db_port |
数据库端口,上文截图默认3306 |
|
选填变量的配置填写指南 |
|
|
类型 |
变量名称 |
填写描述 |
货币 |
money |
功能货币的名称,例如我取的KUN币 |
open注册,兑换开关 |
stat |
注册状态,默认 false true or false |
all_user |
注册人数限制,可在bot启动后进入admin设置,默认 1000 |
|
timing |
定时注册计时参数,bot启动后开启定时注册有效,勿动,默认 0 |
|
tem |
当前已注册用户计数,勿动,默认 0 |
|
allow_code |
能否使用注册码续期,默认 true true or false |
|
checkin |
是否开启签到,默认 true true or false |
|
exchange |
是否开启花币月度自动续期,默认 true true or false |
|
exchange_cost |
续期的价格 每30天,默认 100 |
|
whitelist |
是否开启兑换白名单,默认 true true or false |
|
whitelist_cost |
兑换白名单价格,默认 9999 |
|
invite |
是否开启邀请功能,默认 false true or false |
|
invite_cost |
邀请码价格 每30天,默认 500 |
|
leave_ban |
是否开启退群封禁,默认 true true or false |
|
uplays |
是否开启用户播放结算奖励,默认 true true or false |
|
Emby Media媒体库控制 |
emby_block |
["媒体库名称"] 由用户能控制显示隐藏的媒体库,bot中也可设置 |
extra_emby_libs |
["媒体库名称"] 默认隐藏,不想对新用户显示的媒体库,用户无法控制显隐,管理通过命令/kk可指定开启 |
|
ranks |
logo |
日榜/周榜推送榜单图片中的LOGO文字,同时也是注册、续期码的前缀,请尽量保持中间没有空格,影响体验。默认SAKURA,例如我设置的是IKUN |
backdrop |
是否使用backdrop(即横版图)作为推送榜单的封面图 ,默认false |
|
schedall各种定时任务管理 |
dayrank |
默认true,定时发送媒体播放次数日榜,每日 18:30 |
weekrank |
默认true,定时发送媒体播放次数周榜,每周日 23:59 |
|
dayplayrank |
默认false,定时发送用户观看时长日榜,每日 23:00 |
|
weekplayrank |
默认false,定时发送用户观看时长周榜,每周日23:30 |
|
check_ex到期保号 |
默认true,检测用户到期时间与当前utc时间大小,过期封禁,5天后未续期删号,每日 01:30 |
|
low_activity活跃保号 |
默认false,检测用户最后一次活跃时间,间隔当前超过21天封禁,每日 08:30 |
|
不开启保号 |
如都不开启上述两种保号 false,false,则无需保号 |
|
backup_db |
默认false,自动定时备份数据库,每日 02:30 |
|
backup_db数据库备份详细设置 |
db_is_docker |
默认true,数据库是否为docker模式启动,ture or false |
db_docker_name |
默认 mysql,若docker模式启动的数据库,此数据库容器的名字 |
|
db_backup_dir |
默认 ./backup数据库备份文件所保存的目录 |
|
db_backup_maxcount |
默认7数据库备份文件保留的个数 |
|
AntiChanel反皮套白名单 |
w_anti_chanel_ids |
本机器人默认开启反频道(杀皮套人)功能,除匿名群管皮套,如需要允许其发言请将其id或username加入列表,例如把emby频道加入进去 |
MoviePilotService点播功能 |
status |
默认false,是否开启求片程序 |
host |
默认null,形如:http://xxx.xxx.xxx.xxx:3001的moviepilot的api地址 |
|
username |
默认null,登录的用户名 |
|
password |
默认null,登录的密码 |
|
access_token |
默认null,验证身份以后的token,会自动更新,勿动 |
|
price |
默认1,按体积计算,每1G收取的KUN币 |
|
注意:MoviePilotService安装在下文有讲解。编辑配置文件后记得保存,并重启docker才会生效!
3.编辑docker-compose.yml
如图编辑,把无关代码行注释掉
,因为上文已经手动创建过数据库了

进入服务器终端,输入以下代码:
cd /root/Sakura_embyboss #进入源码目录
docker-compose up -d #一键docker启动
到现在可以尝试在embybot聊天框输入相关命令,进行测试有无回应
5.调试并检查embybot方法
如果发现bot无回应,可以去面板左边第六个容器,进去可以看到docker运行日志,进行重启或者删除等操作

八、配置MoviePilot与qBittorrent实现自动追剧(可选)
注意:如有手上没有mp支持的pt站可以不用看了
没有pt站的话去网盘下资源并上传
我可以发💊,留言邮箱跟预注册ID
本步骤内容无先后顺序,完全可以自行研究配置
1.安装MP

MP配置内容太多可以随便填填,因为可以进面板后台可视化配置。第一登陆要使用超级管理员密码,位置在:
/opt/1panel/apps/local/moviepilot/moviepilot/data/config/logs/moviepilot.log
将本机目录挂载至与emby媒体库相同路径,即上文的/home/emby

2.安装QB

第一次启动QB,默认密码在docker日志中查询。进入QB网页后,可以选择修改密码或者进行限速设置,种子的活跃数量限制等。第一件事设置成简体中文,一些功能很容易理解。此步骤主要是:要记录下QB的用户名跟密码还有IP:端口
将本机目录挂载至与emby媒体库相同路径,即上文的/home/emby

3.连接emby、QB与TGbot
参考截图自行配置即可



4.安装CookieCloud插件同步PT站点cookie
chrome插件:https://chromewebstore.google.com/detail/cookiecloud/ffjiejobkoibkjlhjnlgmcnnigeelbdl
如图设置后手动同步即可


5.系统健康检查



如图所示全部为绿色打勾,即为配置无误
6.MP插件市场
完整的插件仓库地址配置,复制粘贴进docker容器的环境变量中即可:
PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins/,https://github.com/thsrite/MoviePilot-Plugins/,https://github.com/honue/MoviePilot-Plugins/,https://github.com/InfinityPacer/MoviePilot-Plugins/,https://github.com/dandkong/MoviePilot-Plugins/,https://github.com/Aqr-K/MoviePilot-Plugins/,https://github.com/AnjoyLi/MoviePilot-Plugins/,https://github.com/WithdewHua/MoviePilot-Plugins/,https://github.com/HankunYu/MoviePilot-Plugins/,https://github.com/baozaodetudou/MoviePilot-Plugins/,https://github.com/almus2zhang/MoviePilot-Plugins/,https://github.com/Pixel-LH/MoviePilot-Plugins/,https://github.com/lightolly/MoviePilot-Plugins/,https://github.com/suraxiuxiu/MoviePilot-Plugins/,https://github.com/gxterry/MoviePilot-Plugins/,https://github.com/hotlcc/MoviePilot-Plugins-Third/,https://github.com/boeto/MoviePilot-Plugins/,https://github.com/xiangt920/MoviePilot-Plugins/,https://github.com/yubanmeiqin9048/MoviePilot-Plugins/,https://github.com/loongcheung/MoviePilot-Plugins/,https://github.com/xcehnz/MoviePilot-Plugins/,https://github.com/imaliang/MoviePilot-Plugins/,https://github.com/wikrin/MoviePilot-Plugins/,https://github.com/DDS-Derek/MoviePilot-Plugins/,https://github.com/KoWming/MoviePilot-Plugins
安装如图插件

复制PT站生成的RSS订阅链接

粘贴至此处

效果如图

8.bot推送效果

9.订阅优先级
SPECSUB & CNSUB & !BLU & BLURAY & H265 & !DOLBY & !REMUX & !UHD & 1080P > CNSUB & 4K & !BLU & BLURAY & H265 & !DOLBY & !REMUX & !UHD > SPECSUB & CNSUB & 4K & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > CNSUB & 4K & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > 4K & !BLU & !DOLBY > 4K & !BLU > SPECSUB & CNSUB & 1080P & BLURAY & !DOLBY & !BLU & !UHD & !REMUX > CNSUB & 1080P & !BLU & BLURAY & !DOLBY & !UHD & !REMUX > SPECSUB & CNSUB & 1080P & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > CNSUB & 1080P & !BLU & !BLURAY & !UHD & !REMUX & WEBDL & !DOLBY > 1080P & !BLU & !DOLBY > 1080P & !BLU > 720P & !BLU

10.自动整理媒体库目录

安装插件并自习配置


11.其他说明
实用的有自动刮削入库插件,热门订阅插件,媒体库自动刷新,emby弹幕下载等等等等
还有有很多功能由于字数篇幅过长,不予以展示了,自行研究开发
九、反代域名访问或者线路优化(可选)
没有域名的话这个步骤不是必须的
1.安装OpenResty

2.在Cloudflare修改A记录

3.下载证书



复制源证书与私钥备用,当然也有其他方法获取证书,我这里只讲述一种
4.上传证书

5.反代配置


6.其他说明
以上操作步骤一定要确认保存,否则不会生效。线路优化操作与之类似,只是需要在优化线路的机器上进行反代操作即可,大家举一反三各自发挥吧!