Docker方式安装人人影视离线完整安装包

本文软件由网友 ルリデ 推荐;

上周,人人影视创始人宣布将人人影视二十年字幕数据开源分享

目前提供了两种使用方式:

  • “在线应用” :意味着需要有互联网才可以使用。官方提供了网站:https://yyets.click

  • “离线使用” :意味着可以断网使用,但是不会自动更新资源,需要手动更新数据库;

如果你是 Linux/macOS/Windows 平台,建议用官方的一键安装脚本安装,具体可以参考文档:https://github.com/tgbot-collection/YYeTsBot/blob/master/DEVELOPMENT.md#一键脚本

如果你想通过 Docker 部署,可以跟随老苏一起折腾。本文只讨论 docker-compose 安装方式。

官方的 Docker部署文档语焉不详,而且也存在错误,可能是因为时间仓促吧。老苏作为一名非程序员的小白,只能通过代码来查问题,个中辛苦可想而知 😂

准备

创建 Bot

开源的离线包里包含了人人影视机器人和网站,这个机器人指的是 Telegram Bot

所以你需要有一个 tg 账号并且注册好 bot,并获取到安装需要的 tokenchatId

网上有很多教程,可以自己搜,也可以看后面的参考文档

如果这一步搞不定,不建议往下看,因为没有正确的 token,容器会无限制的处于重启状态

下载数据库

下载地址:https://yyets.click/database

只要下载 mongo 的库文件就行,接下来就可以进入安装环节了

安装

在群晖上以 Docker 方式安装。

创建目录

首先要把目录建好,方便往里面丢文件,非群晖的可以参考

1
2
3
4
5
# 新建文件夹 yyets 和子目录
mkdir -p /volume1/docker/yyets/{subtitle_data,meilisearch_data,mongo_data,mysql_data}

# 进入 yyets 目录
cd /volume1/docker/yyets

yyets.env.txt

yyets.env.txt 源自于官方另一个库中的 yyets.env

源文件地址:https://github.com/tgbot-collection/BotsRunner/blob/master/env/yyets.env

部署文档中写的是 MONGODB,但是会导致网页无法登录,查看了 config.py 的源码,才发现应该是 MONGO

将下面的内容保存为 yyets.env.txt,并放入 yyets 根目录中

1
2
3
4
5
6
7
TOKEN=
USERNAME="laosu"
PASSWORD="123456"
MAINTAINER=
BOT_NAME=""
REDIS=redis
MONGO=mongo

关于环境变量的简单说明

可变
TOKEN Telegram Bottoken
BOT_NAME Telegram Bot 的名称
MAINTAINER 维护者的 Telegram UserID
USERNAME 人人影视的有效的用户名,用于登录后台,建议改成自己的
PASSWORD 人人影视的有效的密码,用于登录后台,建议改成自己的
REDIS redis 的地址,不要改
MONGO mongodb 的地址,不要改

根据 https://github.com/tgbot-collection/YYeTsBot/blob/master/yyetsbot/config.py 猜测并添加环境变量

docker-compose.yml

docker-compose.yml 基于官方的做了微调

源文件地址:https://github.com/tgbot-collection/YYeTsBot/blob/master/docker-compose.yml

将下面的内容保存为 docker-compose.yml,并放入 yyets 根目录中

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
version: '3.1'

services:
redis:
image: redis:7-alpine
container_name: yyets-redis
restart: always
logging:
driver: none

mongo:
image: mongo:6
container_name: yyets-mongo
restart: always
volumes:
- ./mongo_data:/data/db
command: --quiet
logging:
driver: none
# ports:
# - "27017:27017"

meili:
image: getmeili/meilisearch:v1.0.2
container_name: yyets-meilisearch
restart: always
environment:
- MEILI_HTTP_PAYLOAD_SIZE_LIMIT=1073741824 #1GiB
volumes:
- ./meilisearch_data:/meili_data

mysql:
image: ubuntu/mysql:8.0-22.04_beta
container_name: yyets-mysql
restart: unless-stopped
volumes:
- ./mysql_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 'root'
logging:
driver: none
command: "--skip-log-bin --default-authentication-plugin=mysql_native_password"

bot:
image: bennythink/yyetsbot
container_name: yyets-bot
depends_on:
- redis
- mongo
restart: always
env_file:
- yyets.env.txt

web:
image: bennythink/yyetsbot
container_name: yyets-web
restart: always
env_file:
- yyets.env.txt
depends_on:
- mongo
- redis
- mysql
working_dir: /YYeTsBot/yyetsweb/
volumes:
- ./subtitle_data:/YYeTsBot/yyetsweb/subtitle_data
command: [ "python3","server.py","-h=0.0.0.0" ]
ports:
- "8877:8888"

yyets_mongo.gz

将我们在准备环境下载的 mongo 数据库文件 yyets_mongo.gz 也放入 yyets 根目录

一键启动

现在依次执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 启动数据库
docker-compose up -d mongo

# 数据库文件拷入容器
docker cp yyets_mongo.gz yyets-mongo:/tmp

# 导入数据库
docker exec yyets-mongo mongorestore --gzip --archive=/tmp/yyets_mongo.gz --nsFrom "share.*" --nsTo "zimuzu.*"

# 删除数据库文件
docker exec yyets-mongo rm /tmp/yyets_mongo.gz

# 开启服务
docker-compose up -d

不出意外的话,应该会有 6 个容器正常运行

运行

网页

在浏览器中输入 http://群晖IP:8877 就能看到主界面

右上角的错误提示可以忽略

点右上角的 LOGIN

用我们前面的 yyets.env.txt 中设置的 USERNAMEPASSWORD 的值登录

登录成功后的主界面

如果你觉得自己欠人人影视一个会员,现在有机会了

功能可以自己探索一下

旧版的界面

Bot

如果设置没问题的话,会收到 HTTP API 的消息

想查什么直接输入就可以

选择一条记录,会返回它的链接,点链接可以直接打开页面

像这种没有返回查询记录的,一般都是资源不足导致的 mongo 超时,有时候放一段时间也会,重启一下容器就可以了

1
2
# 重启容器
docker-compose restart

说明

老苏知道的,都已经写在文档中了。如果你搭建时遇到问题,建议多看几遍。

参考文档

tgbot-collection/YYeTsBot: 🎬 人人影视 机器人和网站,包含人人影视全部资源以及众多网友的网盘分享
地址:https://github.com/tgbot-collection/YYeTsBot

BennyThink/WebsiteRunner: Website Runner
地址:https://github.com/BennyThink/WebsiteRunner

Telegram 创建 bot 获取 token 和 chatId 以及发送消息简明教程
地址:https://www.boyy.org/notebook/mark/141118.html