Autoscan 监控媒体库 by Kolicime

🕓 Feb 2, 2022 · ☕7 min read

前面的话

感谢 Kolicime 提供的全部教程

一转眼就2022了,2022注定是不平凡的一年,抗疫新冠,未竟全功,冬奥盛会,不日将至,二十大盛会,启动在即,“十四五”规划,攻坚正酣。。。 呵呵,扯远了。。。

开博客本身也是喜欢研究这些浪费时间的东西,毕竟time is money,钱都花了,拿出来最大化岂不是更好

早想更新博客了,但是最近累成猪狗不如,要不是群里大佬提示,还不会更新

00盘大概也活了有段时间了,从白嫖 edu 到 GS 到 WS、onedrive、世纪互联,从 Panini 到茶先生 到Bryan 到现在的 Veterinary,00盘是我们共同的资源,共同的时间,共同的心血,共同的小hobby,希望能活长久吧,算是一个小小新年愿望

再一个小心愿就是, 群里讨论 -> 博客分享 -> 更多人进群 -> 吸引更多大佬 -> 分享更多有趣的东西 -> 博客分享 -> ···· 这样一直下去

00群现在有500多人,也不想吸收新人了,自己玩开心就好

其实主要还是敏感资源的关系,避免大规模分享,谢绝任何盈利

00 或许不再开放,或许抽风开放

感谢各位看到这里,开始正题

准备工作

  • 一个已经加入00盘的SA帐号

  • 一台能访问google drive的服务器,推荐使用Ubuntu/Debian系统

  • 一个已经搭好,并且已经正常挂载了00盘的plex/emby

开工!

1. 下载autoscan

根据自己服务器架构,到这里下载对应版本的autoscan。X86架构的可以直接使用下面的命令

wget https://github.com/Cloudbox/autoscan/releases/download/v1.2.0/autoscan_v1.2.0_linux_amd64 -O autoscan

2. 编写配置文件

下载了autoscan之后先./autoscan运行一次,它会自动生成对应的配置文件和数据库等

运行了之后直接ctrl + c结束,然后去~/.config/autoscan目录,正常来说会生成三个文件,activity.log 是运行日志,autoscan.db是数据库文件,不需要管,config.yml就是我们要修改的配置文件了

下面的配置文件仅针对于使用autoscan监控google drive,并上报plex,plex会同步添加或删除相应的媒体

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
minimum-age: 30m #每隔多长时间向plex/emby上报一次修改。可以根据需求调整

anchors: #锚文件 autoscan根据锚文件存在与否判断挂载是否成功 可以设置多个,但每个挂载的盘设置一个即可
  #锚文件根据官方文档推荐是单独新建一个文件,但实际可以任意选择一个存在于盘内的文件
  #群主可以在根目录新建一个00.anchor和01.anchor供大家使用
  - /home/plex/ling/电影/4K Killer (2019)/poster.jpg #我把00盘挂载在了/home/plex/ling,根据自己实际情况修改

authentication: #webhook的认证,可选
  username: abcd
  password: abcd

port: 3030

triggers:
  bernard:
    - account: /home/autoscan/autoscan/service-account.json #sa帐号的位置
      cron: "*/5 * * * *" #隔5分钟检测一次团队盘是否有改动,可以自行调整,不建议调太低
      drives:
        - id: 0APWm9qKAr7DAUk9PVA #00盘根目录
        - id: 0AKTXf2kbWi04Uk9PVA #01盘根目录
      rewrite: #from部分照着填即可,to部分根据自己挂载的目录修改,如果需要综艺,百科,按照格式加就行了
        - from: ^/电影/
          to: /home/plex/ling/电影/
        - from: ^/东亚/
          to: /home/plex/ling/东亚/
        - from: ^/天朝/
          to: /home/plex/ling/天朝/
        - from: ^/动画/
          to: /home/plex/ling/动画/
        - from: ^/欧美/
          to: /home/plex/ling/欧美/
      exclude: #这些类型的文件改动不上报给plex/emby
        - '\.[srt,ass,ssa,nfo,jpg,png,txt]$'

targets:
  plex: #如果使用的是emby,看下面
    - url: https://plex.baidu.com #填你plex的域名或IP
      token: qweqwertasda #plex令牌,获取方式看下面
      rewrite: #如果使用的是docker才需要,本机安装应该不需要
      - from: /home/plex/ling/ #填写你本机00盘实际挂载的路径
        to: /data/ling/        #容器内00盘的路径,如果不知道可以看下面


这里是下面

  • 如果使用的是emby,targets里面参照这里填写,与plex大同小异
  • plex令牌获取方式参照官方文档
  • 如果不知道容器内00盘的路径,可以使用docker exec -it plex bash进入容器内寻找,按crtl + a + d退出容器

3. 进程守护

cat > /usr/lib/systemd/system/autoscan.service<<EOF
[Unit]
Description=AutoScan Daemon Service
After=network.target

[Service]
#UMask=000
Type=simple
User=root
ExecStart=/home/autoscan/autoscan/autoscan
#ExecStop=/usr/bin/killall -s 9 /home/autoscan/autoscan/autoscan
Restart=always
TimeoutSec=300

[Install]
WantedBy=multi-user.target
EOF

ExecStart部分修改为你autoscan的路径后,可以将上面的代码直接粘贴到终端

  • 启动 systemctl start autoscan
  • 重启 systemctl restart autoscan
  • 停止 systemctl stop autoscan
  • 查看状态 systemctl status autoscan
  • 开机自启 systemctl enable autoscan

最后

这里只介绍了autoscan用法的一种,它还可以搭配sonarr、radarr等软件使用,更进阶的用法可以自己去看文档

在修改完配置文件之后记得重启一下服务

如果要查看autoscan的日志,可以使用

tail -f ~/.config/autoscan/activity.log

00盘因为内容比较多,在autoscan启动之后第一时间可能看不到内容输出,可以过十几分钟在看,或者是等第二天团队盘内容更新了再看

Docker config updated by DXZ

基本上和直装一样,配置文件可以参考直装

docker run \
  --name=autoscan \
  -e "PUID=1000" \
  -e "PGID=1001" \
  -p 3030:3030 \
  -v "/root/disk/autoscan:/config" \
  -v "/root/rclone/00alpha:/00/00alpha:ro" \
  --restart=unless-stopped \
  -d cloudb0x/autoscan

配置文件就一个,根据情况自己改就好了

nano /root/disk/autoscan/config.yml

minimum-age: 30m #每隔多长时间向plex/emby上报一次修改。可以根据需求调整

anchors: #锚文件 autoscan根据锚文件存在与否判断挂载是否成功 可以设置多个,但每个挂载的盘设置一个即可
  #锚文件根据官方文档推荐是单独新建一个文件,但实际可以任意选择一个存在于盘内的文件
  #群主可以在根目录新建一个00.anchor和01.anchor供大家使用 —— DONE!
  - /00/00alpha/TEST/00.anchor #我把00盘挂载在了/root/rclone/00alpha,前面的/00 是容器内部,大家根据自己实际情况修改
  - /00/00alpha/欧美/01.anchor
authentication: #webhook的认证,可选
  username: abcd
  password: abcd

port: 3030

triggers:
  bernard:
    - account: /config/autoscan.json #sa帐号的位置
      cron: "*/5 * * * *" #隔5分钟检测一次团队盘是否有改动,可以自行调整,不建议调太低
      drives:
        - id: 0APWm9qKAr7DAUk9PVA #00盘根目录
        - id: 0AKTXf2kbWi04Uk9PVA #01盘根目录
      rewrite: #from部分照着填即可,to部分根据自己挂载的目录修改,如果需要综艺,百科,按照格式加就行了
        - from: ^/电影/
          to: /00/00alpha/电影/
        - from: ^/东亚/
          to: /00/00alpha/东亚/
        - from: ^/天朝/
          to: /00/00alpha/天朝/
        - from: ^/动画/
          to: /00/00alpha/动画/
        - from: ^/欧美/
          to: /00/00alpha/欧美/
        - from: ^/百科/
          to: /00/00alpha/百科/
      exclude: #这些类型的文件改动不上报给plex/emby
        - '\.[srt,ass,ssa,nfo,jpg,png,txt]$'

targets:
  emby: #如果使用的是emby,看下面
    - url: http://10.2.2.113:8096 #填你emby的域名或IP,这个直接在本机更简单
      token: 3e64e6302c7a475ead561c536e900dxz  #emby令牌,获取方式看下面
      rewrite: #如果使用的是docker才需要,本机安装应该不需要
      - from: /00/00alpha/ #填写你本机00盘实际挂载的路径,但因为是docker,直接写docker映射的路径即可,更简单了
        to: /00/00alpha/        #容器内00盘的路径,如果不知道可以看下面




金牌大学渣
WRITTEN BY
金牌大学渣
Web Developer