ProtonMail IMAP/SMTP Bridge Docker container
Go to file
2025-07-23 09:28:43 +00:00
.github Merge d483aa120b into 044ea2b034 2025-07-23 09:28:43 +00:00
build there we go. 2025-06-12 18:45:25 +02:00
deb Merge d483aa120b into 044ea2b034 2025-07-23 09:28:43 +00:00
.gitignore Add riscv64 support to docker builds 2022-11-20 23:32:58 +08:00
docker-compose.yml there we go. 2025-06-12 18:45:25 +02:00
LICENSE Update LICENSE 2020-04-23 17:23:13 -07:00
README.md there we go. 2025-06-12 18:45:25 +02:00
SECURITY.md Create SECURITY.md 2020-11-19 23:38:33 -08:00
update-check.py improve build readability and speed (by parallelization) (#117) 2025-04-24 23:03:50 +02:00
VERSION Bump version to v3.21.2 2025-07-23 00:21:43 +00:00

ProtonMail IMAP/SMTP Bridge Docker Container

version badge image size badge docker pulls badge deb badge build badge

This is an unofficial Docker container of the ProtonMail Bridge. Some of the scripts are based on Hendrik Meyer's work.

Docker Hub: https://hub.docker.com/r/shenxn/protonmail-bridge

GitHub: https://github.com/shenxn/protonmail-bridge-docker

ARM Support

We now support ARM devices (arm64 and arm/v7)! Use the images tagged with build. See next section for details.

Tags

There are two types of images.

  • deb: Images based on the official .deb release. It only supports the amd64 architecture.
  • build: Images based on the source code. It supports amd64, arm64, arm/v7 and riscv64. Supporting to more architectures is possible. PRs are welcome.
tag description
latest latest deb image
[version] deb images
build latest build image
[version]-build build images

Starting the container

To initialize and add account to the bridge, run the following steps:

  1. Start the container with a named volume (protonmail) for persistent storage.
docker run -it -v protonmail:/root shenxn/protonmail-bridge
  1. When you are done, press CTRL+P followed by CTRL+Q. This detaches the container from your terminal and keeps it running in the background.

Setting up the bridge

If you have not set up an account, you need to do the folliwing steps in the protonmail-bridge CLI interface:

  1. Connect to the running container by getting it's name using docker ps and then running:
docker attach <container_name>
  1. Use the add command to add your ProtonMail account. You will be prompted to enter your ProtonMail username and password.
  2. After adding your account, use the info command to see the configuration information (username and password).

Security

Please be aware that running the command above will expose your bridge to the network. Remember to use firewall if you are going to run this in an untrusted network or on a machine that has public IP address. You can also use the following command to publish the port to only localhost, which is the same behavior as the official bridge package.

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

Besides, you can publish only port 25 (SMTP) if you don't need to receive any email (e.g. as a email notification service).

Bridge CLI Guide

The initialization step exposes the bridge CLI so you can do things like switch between combined and split mode, change proxy, etc. The official guide gives more information on to use the CLI.