2023-05-07 12:50:18 +00:00
|
|
|
# WSL2 Ubuntu 22.04 部署
|
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
[en documentation](EN.md)
|
2023-05-07 12:50:18 +00:00
|
|
|
|
|
|
|
## 前置条件
|
|
|
|
|
|
|
|
- 安装 WSL2 (Ubuntu 22.04 LTS) - `微软应用商店` -> `Ubuntu 22.04 LTS`
|
|
|
|
- 运行 Ubuntu 22.04 - `开始` -> 搜索`Ubuntu 22.04 LTS`
|
|
|
|
- 设置用户名/密码
|
|
|
|
- 确认环境 (输出相似即可)
|
|
|
|
```
|
|
|
|
$ uname -a
|
|
|
|
Linux lightning 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
|
|
|
|
$ python3 --version
|
|
|
|
Python 3.10.6
|
|
|
|
```
|
|
|
|
|
|
|
|
## 系统依赖
|
|
|
|
|
|
|
|
- 安装redis、pip
|
|
|
|
```
|
|
|
|
$ sudo apt update
|
|
|
|
...
|
|
|
|
$ sudo apt install redis-server python3-pip python3-venv
|
|
|
|
```
|
|
|
|
- 确认redis是否成功运行
|
|
|
|
```
|
|
|
|
$ redis-cli
|
|
|
|
Could not connect to Redis at 127.0.0.1:6379: Connection refused
|
|
|
|
not connected>
|
|
|
|
```
|
|
|
|
- 修改 `/etc/redis/redis.conf`, 注释掉 `supervised no`, 添加 `supervised systemd`
|
|
|
|
```
|
|
|
|
#supervised no
|
|
|
|
supervised systemd
|
|
|
|
```
|
|
|
|
- 运行 `redis-server`
|
|
|
|
```
|
|
|
|
$ sudo service redis-server start
|
|
|
|
Starting redis-server: redis-server.
|
|
|
|
$
|
|
|
|
```
|
|
|
|
- 再次确认redis是否成功运行
|
|
|
|
```
|
|
|
|
$ redis-cli
|
|
|
|
127.0.0.1:6379> SELECT 0
|
|
|
|
OK
|
|
|
|
127.0.0.1:6379>
|
|
|
|
```
|
|
|
|
|
|
|
|
## clone PaiGram 项目
|
|
|
|
|
|
|
|
- 克隆项目
|
|
|
|
```
|
|
|
|
$ git clone git@github.com:PaiGramTeam/PaiGram.git
|
|
|
|
...
|
2023-10-09 04:03:58 +00:00
|
|
|
$ git submodule update --init --recursive
|
|
|
|
...
|
2023-05-07 12:50:18 +00:00
|
|
|
$ cd PaiGram/
|
|
|
|
~/PaiGram $
|
|
|
|
```
|
|
|
|
|
|
|
|
## 项目配置
|
|
|
|
- 配置虚拟环境
|
|
|
|
```
|
|
|
|
~/PaiGram $ python3 -m venv venv
|
|
|
|
~/PaiGram $ source venv/bin/activate
|
|
|
|
(venv) ~/PaiGram $
|
|
|
|
```
|
|
|
|
- 安装依赖
|
|
|
|
```
|
|
|
|
(venv) ~/PaiGram $ pip install poetry
|
|
|
|
Collecting poetry
|
|
|
|
...
|
|
|
|
(venv) ~/PaiGram $ poetry install --extras all
|
|
|
|
Installing dependencies from lock file
|
|
|
|
Package operations: 88 installs, 3 updates, 0 removals
|
|
|
|
...
|
|
|
|
(venv) ~/PaiGram $ playwright install chromium
|
|
|
|
Downloading Chromium 107.0.5304.18 (playwright build v1028) - 137.8 Mb [====================] 100% 0.0s
|
|
|
|
Chromium 107.0.5304.18 (playwright build v1028) downloaded to /home/username/.cache/ms-playwright/chromium-1028
|
|
|
|
(venv) ~/PaiGram $ playwright install-deps chromium
|
|
|
|
...
|
|
|
|
(venv) ~/PaiGram $
|
|
|
|
```
|
|
|
|
- 安装chromium依赖
|
|
|
|
```
|
|
|
|
sudo apt-get install libnss3\
|
|
|
|
libnspr4\
|
|
|
|
libatk1.0-0\
|
|
|
|
libatk-bridge2.0-0\
|
|
|
|
libcups2\
|
|
|
|
libatspi2.0-0\
|
|
|
|
libxcomposite1\
|
|
|
|
libxdamage1\
|
|
|
|
libxfixes3\
|
|
|
|
libxrandr2\
|
|
|
|
libgbm1\
|
|
|
|
libxkbcommon0\
|
|
|
|
libpango-1.0-0\
|
|
|
|
libcairo2\
|
|
|
|
libasound2\
|
|
|
|
libwayland-client0
|
|
|
|
```
|
|
|
|
- 修改项目配置 (`.env`)
|
|
|
|
```
|
|
|
|
(venv) ~/PaiGram $ cp .env.example .env
|
|
|
|
(venv) ~/PaiGram $
|
|
|
|
```
|
|
|
|
- 修改 `.env` 文件 (示例用的是sqlite, 数据库文件名`db.sqlite3`):
|
|
|
|
```
|
|
|
|
DB_DRIVER_NAME=sqlite+aiosqlite
|
|
|
|
DB_DATABASE=db.sqlite3
|
|
|
|
```
|
|
|
|
- 运行alembic自动建表
|
|
|
|
```
|
|
|
|
(venv) ~/PaiGram $ alembic upgrade head
|
|
|
|
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
|
|
|
|
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
|
|
|
|
INFO [alembic.runtime.migration] Running upgrade -> 9e9a36470cd5, init
|
|
|
|
INFO [alembic.runtime.migration] Running upgrade 9e9a36470cd5 -> ddcfba3c7d5c, v4
|
|
|
|
(venv) ~/PaiGram $
|
|
|
|
```
|
|
|
|
|
|
|
|
## 运行项目
|
|
|
|
|
|
|
|
```
|
|
|
|
(venv) ~/PaiGram $ python3 run.py
|
|
|
|
[2023-04-30 09:56:07] INFO 正在启动 BOT 中... core.application 134
|
|
|
|
[2023-04-30 09:56:08] INFO Telegram 初始化成功 core.application 141
|
|
|
|
INFO 正在尝试启动 Playwright core.dependence.aiobrowser 31
|
|
|
|
[2023-04-30 09:56:09] SUCCESS Playwright 启动成功 core.dependence.aiobrowser 33
|
|
|
|
INFO 正在尝试启动 Browser core.dependence.aiobrowser 35
|
|
|
|
SUCCESS Browser 启动成功 core.dependence.aiobrowser 38
|
|
|
|
SUCCESS 基础服务 "AioBrowser" 启动成功 core.manager 97
|
|
|
|
SUCCESS 基础服务 "Database" 启动成功 core.manager 97
|
|
|
|
INFO 正在尝试建立与 Redis 连接 core.dependence.redisdb 39
|
|
|
|
INFO 连接 Redis 成功 core.dependence.redisdb 29
|
|
|
|
SUCCESS 基础服务 "RedisDB" 启动成功 core.manager 97
|
|
|
|
INFO 正在刷新元数据 core.dependence.assets 538
|
|
|
|
[2023-04-30 09:56:21] SUCCESS Avatar data is done. metadata.scripts.honey 173
|
|
|
|
[2023-04-30 09:56:24] SUCCESS Weapon data is done. metadata.scripts.honey 175
|
|
|
|
[2023-04-30 09:56:30] SUCCESS Material data is done. metadata.scripts.honey 177
|
|
|
|
[2023-04-30 09:57:14] SUCCESS Artifact data is done. metadata.scripts.honey 179
|
|
|
|
[2023-04-30 09:57:20] SUCCESS Namecard data is done. metadata.scripts.honey 181
|
|
|
|
INFO 刷新元数据成功 core.dependence.assets 543
|
|
|
|
SUCCESS 基础服务 "AssetsService" 启动成功 core.manager 97
|
|
|
|
INFO MTProto 服务需要的 api_id 未配置 本次服务 client 为 None core.dependence.mtproto 51
|
|
|
|
SUCCESS 基础服务 "MTProto" 启动成功 core.manager 97
|
|
|
|
SUCCESS 服务 "SignServices" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "WikiService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "UserService" 启动成功 core.manager 189
|
|
|
|
WARNING 检测到未配置Bot所有者 会导无法正常使用管理员权限 core.services.users.services 51
|
|
|
|
SUCCESS 服务 "UserAdminService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "TemplateService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "QuizService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "PlayersService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "PlayerInfoService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "GameStrategyService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "CookiesService" 启动成功 core.manager 189
|
|
|
|
INFO 正在初始化公共Cookies池 core.services.cookies.services 47
|
|
|
|
SUCCESS 刷新公共Cookies池成功 core.services.cookies.services 49
|
|
|
|
SUCCESS 服务 "PublicCookiesService" 启动成功 core.manager 189
|
|
|
|
SUCCESS 服务 "SearchServices" 启动成功 core.manager 189
|
|
|
|
[2023-04-30 09:57:21] SUCCESS 插件 "plugins.jobs.public_cookies.PublicCookiesPlugin" 安装成功 core.manager 273
|
|
|
|
INFO 正在创建角色详细信息表 plugins.tools.genshin 70
|
|
|
|
SUCCESS 创建角色详细信息表成功 plugins.tools.genshin 73
|
|
|
|
SUCCESS 插件 "plugins.tools.genshin.CharacterDetails" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.tools.genshin.GenshinHelper" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.tools.sign.SignSystem" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.sign.Sign" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.jobs.sign.SignJob" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.hilichurls.HilichurlsPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.avatar_list.AvatarListPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.wish.WishSimulatorPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.abyss_team.AbyssTeamPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.strategy.StrategyPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.stats.PlayerStatsPlugins" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.player_cards.PlayerCards" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.help.HelpPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.ledger.LedgerPlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.reg_time.RegTimePlugin" 安装成功 core.manager 273
|
|
|
|
SUCCESS 插件 "plugins.genshin.daily.material.DailyMaterial" 安装成功 core.manager 273
|
|
|
|
...
|
|
|
|
```
|