Docker 配置 Zotero 的 DeepL自定义翻译源
由于各种原因,在国内注册 DeepL 的免费计划都十分困难,需要使用国外信用卡认证之后才可获取 API 。本项目可让用户在不注册账号的前提下,使用 DeepL 作为翻译服务。
教程大多部署在本地 Docker 容器内,使得每次都需打开 Docker 客户端开启翻译源容器,不仅占用本地电脑内存资源,也使得操作复杂。因此,本教程将该翻译源服务部署在云服务器端,方便快捷使用 DeepL 翻译服务。
简介:
zu1k 通过逆向 DeepL 客户端使用的协议,实现免费的 DeepL API。
准备工作:
一台服务器,并获取该服务器公网 IP 。
Zotero 软件安装 Zotero PDF Translate 插件。
一、安装 Docker
在 Ubuntu 上安装 Docker 。首先启用 Docker 软件源,导入 GPG key,并且安装软件包。
更新系统软件包索引:
1
sudo apt-get update
安装必须的依赖软件来添加一个新的 HTTPS 软件源:
1
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
使用下面的 curl 导入源仓库的 GPG key:
1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将 Docker APT 软件源添加到 Ubuntu 系统:
1
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
现在 Docker 软件源已被启用,继续安装软件源中任何可用的 Docker 版本:
想要安装 Docker 最新版本,运行下面的命令。如果想安装指定版本,跳过这个步骤,并跳到下一步。
1
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
若想要安装指定版本,首先列出 Docker 软件源中所有可用的版本:
1
sudo apt-get list -a docker-ce
可用的 Docker 版本将会在第二列显示。例如,在官方 Docker 软件源中有个 Docker 版本可用:
1
docker-ce/focal 5:19.03.9~3-0~ubuntu-focal amd64
通过在软件包名后面添加版本=<VERSION>来安装指定版本:
1
sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io
验证 Docker 的状态:
1
sudo systemctl status docker
输出将会显示以下信息:
1
2
3
4
5
6
7
8
9
10
11
12
13● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2024-04-20 03:14:50 EDT; 37min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 134876 (dockerd)
Tasks: 25
Memory: 47.7M
CGroup: /system.slice/docker.service
├─134876 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
├─137446 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.2 -container-port 80
└─137451 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.17.0.2 -container-port 80
······当一个新的 Docker 发布时,可以选择升级 Docker 软件包或者组织 Docker 自动更新:
更新升级 Docker 软件包:
1
sudo apt-get update && sudo apt-get upgrade
阻止 Docker 自动更新,锁定当前版本:
1
sudo apt-mark hold docker-ce
二、拉取镜像
在终端执行 zu1k 的备份镜像:
1 | docker pull kanikig/deepl-bk |
或使用另一个 zu1k 备份镜像:
1 | docker pull missuo/deeplx-bk |
三、部署 DeepL 服务
根据不同的硬件架构使用不同的命令进行网络端口映射,其中 8080 是服务运行的端口,可以修改为其他数值,镜像也可使用另一个备份镜像:
Mac (Intel) 和 Windows :
1
docker run -itd -p 8080:80 --name dyx kanikig/deepl-bk
Mac (M1/M2) 和 Linux :
1
docker run --platform linux/amd64 -p 8080:80 --name dyx -itd kanikig/deepl-bk
Docker 常用指令:
启动容器:
1
docker start dyx
查看 Docker 所有的容器,包括未运行的容器。-p 则是静默模式,只显示容器编号。
1
docker ps -a
四、配置 Zotero
打开 Zotero - 选项 - 翻译 - 翻译引擎 - DeepL自定义,在密钥中输入以下链接。如果按照上完进行配置:
若服务器部署,则密钥为 公网 IP + Port :
1
http://47.24.12.25:8080/translate
若在本地部署,则密钥为 本地 IP + Port:
1
http://127.0.0.1:8080/translate
五、卸载 Docker
在卸载 Docker 之前,最好移除所有的 容器、镜像、卷和网络。
运行下面的命令停止所有正在运行的容器,并且移除所有的 Docker 对象:
1
2docker container stop $(docker container ls -aq)
docker system prune -a --volumes使用 apt 卸载 Docker 软件包:
1
2sudo apt purge docker-ce
sudo apt autoremove
Docker 配置 Zotero 的 DeepL自定义翻译源
http://dongyx1128.github.io/2024/04/20/Docker配置Zotero的DeepL自定义翻译源/