From d9808510be8ec1b09efc765524cf6d4ee055d33e Mon Sep 17 00:00:00 2001 From: LiShenshun Date: Thu, 11 May 2023 15:26:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9EDocker=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 2 ++ Dockerfile | 30 ++++++++++++++++++++++++++++++ README.md | 23 ++++++++++++++++++++++- docker-compose.yml | 14 ++++++++++++++ 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b501a12 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +__pycache__ +./gsuid-core/data/* \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cfcef7a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM python:3.8.12-slim + +WORKDIR /app/gsuid_core + +ENV PATH="${PATH}:/root/.local/bin" + +ADD ./ /app/ + +RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak \ + && echo "deb http://ftp.cn.debian.org/debian/ bullseye main non-free contrib" >/etc/apt/sources.list \ + && echo "deb http://ftp.cn.debian.org/debian/ bullseye-updates main non-free contrib" >>/etc/apt/sources.list \ + && echo "deb http://ftp.cn.debian.org/debian/ bullseye-backports main non-free contrib" >>/etc/apt/sources.list \ + && echo "deb-src http://ftp.cn.debian.org/debian/ bullseye main non-free contrib" >>/etc/apt/sources.list \ + && echo "deb-src http://ftp.cn.debian.org/debian/ bullseye-updates main non-free contrib" >>/etc/apt/sources.list \ + && echo "deb-src http://ftp.cn.debian.org/debian/ bullseye-backports main non-free contrib" >>/etc/apt/sources.list \ + && echo "deb http://mirrors.ustc.edu.cn/debian-security/ stable-security main non-free contrib" >>/etc/apt/sources.list \ + && echo "deb-src http://mirrors.ustc.edu.cn/debian-security/ stable-security main non-free contrib" >>/etc/apt/sources.list \ + && rm -rf /var/lib/apt/lists/* && apt-get update + +RUN apt install curl git -y + +RUN /usr/local/bin/python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple + +RUN /usr/local/bin/python -m pip install --no-cache-dir --upgrade --quiet pip + +RUN /usr/local/bin/python -m pip install poetry + +RUN poetry install && rm -rf /app/* + +CMD poetry run python3 core.py \ No newline at end of file diff --git a/README.md b/README.md index 7c1f2a8..5d7f883 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,27 @@ poetry run python core.py + 默认core将运行在`localhost:8765`端口上,如有需要可至`config.json`修改。 + 在支持的Bot上(例如NoneBot2、HoshinoBot),安装相应适配插件,启动Bot(如果有修改端口,则需要在启动Bot前修改适配插件相应端口),即可自动连接Core端。 +## Docker部署Core(可选) + +`请先安装好Docker与Docker Compose` + +1. git clone gsuid-core本体 + +```shell +git clone https://ghproxy.com/https://github.com/Genshin-bots/gsuid-core.git --depth=1 --single-branch +``` + +2. Docker Compose启动 + +```shell +cd gsuid-core +docker-compose up -d +``` + +- Docker Compose启动前,最好先安装需要的插件,如[GenshinUID](https://github.com/KimigaiiWuyi/GenshinUID),这样容器在部署时可以一起安装依赖,节省时间 +- 默认core将运行在`localhost:8765`端口上,Docker部署必须修改`config.json`,如`0.0.0.0:8765` +- 如果Bot(例如NoneBot2、HoshinoBot)也是Docker部署的,Core或其插件更新后,可能需要将Core和Bot的容器都重启才生效 + ## 编写插件 @@ -79,4 +100,4 @@ sv=SV( @sv.on_prefix('测试') async def get_msg(bot: Bot, ev: Event): ... -``` +``` \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d3bb963 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +services: + gsuid-core: + build: . + container_name: gsuidcore + restart: always + environment: + - TZ=Asia/Shanghai + dns: + - 114.114.114.114 + - 114.114.115.115 + ports: + - 8765:8765 + volumes: + - ${PWD}:/app \ No newline at end of file