Proton Mail Bridge in Docker with web UI. Local IMAP/SMTP gateway for your encrypted Proton Mail.
2.9K
Docker container for Proton Mail Bridge with a web-based setup UI, optimized for Unraid.
Creates a local IMAP/SMTP server that decrypts your Proton Mail, allowing other containers and email clients on your network to send and receive email through your Proton account.
docker exec requiredservices:
protonmail-bridge:
image: pattertj/protonmail-bridge:latest
container_name: protonmail-bridge
restart: unless-stopped
volumes:
- ./data:/root
ports:
- "1025:25" # SMTP
- "1143:143" # IMAP
- "3080:3000" # Web UI
environment:
- WEBUI_AUTH_TOKEN=your-secret-token
docker compose up -dhttp://localhost:3080WEBUI_AUTH_TOKEN to authenticate| Variable | Default | Description |
|---|---|---|
WEBUI_AUTH_TOKEN | (empty) | Access token for the Web UI. Set this. |
WEBUI_PORT | 3000 | Internal web UI port |
WEBUI_TLS_CERT | (empty) | Path to TLS certificate for HTTPS |
WEBUI_TLS_KEY | (empty) | Path to TLS private key for HTTPS |
CONTAINER_SMTP_PORT | 25 | Internal SMTP listen port |
CONTAINER_IMAP_PORT | 143 | Internal IMAP listen port |
| Port | Protocol | Description |
|---|---|---|
| 25 | SMTP | Email sending |
| 143 | IMAP | Email receiving |
| 3000 | HTTP(S) | Web UI |
| Path | Description |
|---|---|
/root | Bridge config, GPG keyring, password store, mail cache. Must persist across recreates. |
Point your apps at the bridge container's hostname/IP with the mapped ports:
| Setting | Value |
|---|---|
| SMTP Host | protonmail-bridge (or container IP) |
| SMTP Port | 1025 (your mapped port) |
| IMAP Host | protonmail-bridge (or container IP) |
| IMAP Port | 1143 (your mapped port) |
| Username | Shown in Web UI after login |
| Password | Bridge-generated password shown in Web UI |
| Security | STARTTLS |
Works with Nextcloud, Gitea, Home Assistant, Uptime Kuma, Paperless-ngx, and any service that supports SMTP/IMAP.
docker compose up -d --build
cd webui && go test ./handlers/ -v
bash tests/test_entrypoint.sh
bash tests/test_no_cdn.sh
WEBUI_AUTH_TOKEN to protect the Web UIWEBUI_TLS_CERT/WEBUI_TLS_KEY for HTTPS on untrusted networksGPL-3.0 -- see LICENSE
Content type
Image
Digest
sha256:7a67213a4…
Size
66.5 MB
Last updated
5 months ago
docker pull pattertj/protonmail-bridge:9979b23