ProtonMail IMAP/SMTP 桥接器 Docker 容器
这是非官方的 ProtonMail 桥接器 Docker 容器。部分脚本基于 Hendrik Meyer 的工作。
Docker Hub:https://hub.docker.com/r/shenxn/protonmail-bridge
GitHub:https://github.com/shenxn/protonmail-bridge-docker
ARM 支持
我们现在支持 ARM 设备(arm64
和 arm/v7
)!使用标记为 build
的镜像。详情请参见下一节。
标签
有两种类型的镜像:
deb
:基于官方 .deb 发行版 的镜像。仅支持amd64
架构。build
:基于 源代码 的镜像。支持amd64
、arm64
、arm/v7
和riscv64
。支持更多架构是可能的。欢迎提交 PR。
标签 | 描述 |
---|---|
latest | 最新的 deb 镜像 |
[版本号] | deb 镜像 |
build | 最新的 build 镜像 |
[版本号]-build | build 镜像 |
初始化
要初始化并向桥接器添加账户,请运行以下命令:
docker run --rm -it -v protonmail:/root shenxn/protonmail-bridge init
如果您想使用 Docker Compose,可以创建提供的示例 docker-compose.yml 文件的副本,根据需要修改,然后运行以下命令:
docker compose run protonmail-bridge init
等待桥接器启动,然后您将看到 Proton Mail Bridge 交互式 shell 的提示。使用 login
命令并按照说明将您的账户添加到桥接器中。然后使用 info
查看配置信息(用户名和密码)。之后,使用 exit
退出桥接器。您可能需要使用 CTRL+C
完全退出 docker。
运行
要运行容器,请使用以下命令:
docker run -d --name=protonmail-bridge -v protonmail:/root -p 1025:25/tcp -p 1143:143/tcp --restart=unless-stopped shenxn/protonmail-bridge
或者,如果使用 Docker Compose,请使用以下命令:
docker compose up -d
Kubernetes
如果您想在 Kubernetes 环境中运行此镜像,可以使用 @Eagleman7 创建的 Helm chart (https://github.com/k8s-at-home/charts/tree/master/charts/stable/protonmail-bridge)。更多详情可以在 #23 中找到。
如果您不想使用 Helm,也可以参考 @ghudgins 编写的指南(#6)。
安全性
请注意,运行上述命令将使您的桥接器暴露在网络中。如果您要在不受信任的网络或具有公共 IP 地址的机器上运行此程序,请记得使用防火墙。您也可以使用以下命令将端口仅发布到本地主机,这与官方桥接器包的行为相同:
docker run -d --name=protonmail-bridge -v protonmail:/root -p 127.0.0.1:1025:25/tcp -p 127.0.0.1:1143:143/tcp --restart=unless-stopped shenxn/protonmail-bridge
此外,如果您不需要接收任何电子邮件(例如作为电子邮件通知服务),可以只发布端口 25(SMTP)。
兼容性
桥接器目前仅支持部分电子邮件客户端。更多详情可以在官方网站上找到。我已经在 Synology DiskStation 上测试过,运行良好。但是,您可能需要通过 ssh 连接到它来运行交互式 docker 命令以添加您的账户。使用这种方法而不是环境变量的主要原因是,这似乎是支持双因素身份验证的最佳方式。
桥接器 CLI 指南
初始化步骤暴露了桥接器 CLI,因此您可以执行诸如在组合模式和分离模式之间切换、更改代理等操作。官方指南 提供了有关如何使用 CLI 的更多信息。
构建
对于想要自己构建此容器的人(出于开发或安全考虑),以下是操作指南。首先,您需要 cd
进入目录(deb
或 build
,取决于您想要构建哪种类型的镜像)。然后只需运行 docker build 命令:
docker build .
就是这样。Dockerfile
和 bash 脚本处理所有的下载、构建和打包。您还可以添加标签,推送到您喜欢的 docker 仓库,或使用 buildx
构建多架构镜像。