docker supports custom installation of pypi dependencies (#79)

 docker 支持自定义安装 pypi 依赖 (#79)

* 有些插件额外需要一些未安装的依赖,支持用户自己定义`requirements2.txt`,创建容器时即自动安装好,这样更新镜像或重建容器不影响这些插件的使用。
This commit is contained in:
nevinen 2021-05-28 20:31:00 +08:00 committed by GitHub
parent 69c6fa26ad
commit c59566d458
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 9 deletions

3
.gitignore vendored
View File

@ -123,6 +123,9 @@ docker-compose.yml
plugins/
data/*
pagermaid.egg-info/
dump.rdb
keyword.list
requirements2.txt
# Spyder project settings
.spyderproject

View File

@ -10,6 +10,6 @@ services:
volumes:
- ./:/pagermaid/workdir
environment:
- RUN_AS_ROOT=true # 是否以root权限运行pagermaidtrue为是
- PUID=917 # 当 RUN_AS_ROOT=false 才生效即以普通用户权限运行pagermaid
- PGID=917 # 当 RUN_AS_ROOT=false 才生效即以普通用户权限运行pagermaid
- RUN_AS_ROOT=true # 是否以root权限运行pagermaidtrue为是false为否
- PUID=917 # 当 RUN_AS_ROOT=false才生效即以普通用户权限运行pagermaid可以修改为你定义用户的UID
- PGID=917 # 当 RUN_AS_ROOT=false才生效即以普通用户权限运行pagermaid可以修改为你定义用户的GID

View File

@ -5,4 +5,7 @@ git remote set-url origin https://github.com/Xtao-Labs/PagerMaid-Modify.git
git pull
pip install -r requirements.txt
if [ -s requirements2.txt ]; then
pip install -r requirements2.txt
fi
exit 0

View File

@ -3,7 +3,7 @@
perl -i -pe "{
s|^dir /var/lib/redis|dir /pagermaid/workdir|;
s|^save \d+ 1|save 60 1|;
}" /etc/redis/redis.conf
}" /etc/redis/redis.conf
cd /pagermaid/workdir
redis-server /etc/redis/redis.conf

View File

@ -1,13 +1,23 @@
## 一、一键脚本
## 特点
- 容器在启动或重启时将自动更新脚本并安装pip依赖。
- 包括redis缓存数据和插件在内全部数据支持数据持久化更新镜像或重建容器数据不丢失。
- 有些插件额外需要一些未安装的依赖,支持用户自己定义`requirements2.txt`,创建容器时即自动安装好,这样更新镜像或重建容器不影响这些插件的使用。
- 由用户自己选择以root权限还是以普通用户权限来运行pagermaid以普通用户权限运行时更安全但需要用户具有解决权限问题的能力。
## 一键脚本安装
```
wget https://raw.githubusercontent.com/Xtao-Labs/PagerMaid-Modify/master/utils/docker.sh
bash docker.sh
```
*注一键脚本安装的Docker将以root权限运行在使用pagermaid时最方便。*
*注一键脚本安装的Docker将以root权限运行在使用pagermaid时最方便。如需要自定义请使用docker-compose安装。*
## docker-compose 安装
## docker-compose安装
1. 准备脚本
@ -22,7 +32,9 @@ cp docker-compose.gen.yml docker-compose.yml
3. 如果会配置,就自己编辑刚刚复制的`config.yml`。如果不会就直接下一步。
4. 启动容器`docker-compose up -d`
4. 有些插件还额外需要安装依赖包,这些依赖包初始状态是没有安装的,例如`neteasemusic`插件的依赖`eyed3` `pycryptodome``coin`插件的依赖`python-binance` `xmltodict`等等,你如果需要用到这些插件,并且希望容器自动将依赖安装好,可以将依赖列在当前目录下的`requirements2.txt`中(没有这个文件,需要你自己建立)。容器将在启动时自动安装这些依赖。有此`requirements2.txt`文件以后,重新部署容器或者更新镜像,都将自动安装这些依赖,不再需要重复地手动安装
5. 如第3步未配置`config.yml`,则运行`docker exec -it <容器名> bash utils/docker-config.sh`进行配置。
5. 启动容器`docker-compose up -d`。
6. 如第3步未配置`config.yml`,则运行`docker exec -it <容器名> bash utils/docker-config.sh`进行配置。