Commit graph

252 commits

Author SHA1 Message Date
c41ms0n
036e49faf0 healthcheck: parallel bash probe for smtp/imap on all 4 ports 2026-04-29 21:50:50 +02:00
c41ms0n
dad7066244 docker: BuildKit cache + CGO LTO optimization
Add persistent cache mounts for the Go module cache, Go build cache,
and apt so only changed packages are re-downloaded or recompiled on
subsequent builds.

CGO LTO is injected via `make LIBFIDO2_LDFLAGS=...` rather than ENV
because the Makefile sets CGO_LDFLAGS inline in go-build-finalize,
clobbering any inherited environment variable. Binary stripping is done
with strip --strip-all post-build since the Makefile owns the -ldflags
chain and cannot be extended without losing the -X version constants.
2026-04-29 21:50:50 +02:00
c41ms0n
ba65344ec1 fix(deb): add libfido2-1 runtime dependency
install.sh strips the official deb Depends line, removing libfido2-1.
The bridge binary still links against it, so it must be installed explicitly.
2026-04-29 21:50:50 +02:00
c41ms0n
8c6e7b301a chore(deb): sync entrypoint and Dockerfile from build/
- Replace legacy entrypoint with the current build/ version
  (PTY_TOOL support, init/manage/attach/run commands, SIGTERM trap,
  port-readiness liveness check, abduco session detection, <container>
  placeholder in error messages); only difference is binary name
  protonmail-bridge instead of /protonmail/proton-bridge
- Add ARG/ENV PTY_TOOL and conditional apt install of dtach/abduco/reptyr
- Add HEALTHCHECK on 127.0.0.1 for all four ports (25, 143, 1025, 1143)
- Switch from CMD bash ... to ENTRYPOINT + CMD ["run"]
2026-04-29 21:50:50 +02:00
c41ms0n
cb69c79ec1 fix(entrypoint): correct abduco session detection and harden PTY_TOOL handling
- Validate PTY_TOOL at startup and verify the selected binary exists
- Add abduco_session_alive() using `abduco -l` instead of checking BRIDGE_SOCK
  (abduco does not create a socket file, so the old check always failed)
- Fix wait_for_session, manage blocking loop, and attach to use tool-specific
  liveness checks rather than grouping dtach and abduco together
- Add default (*) error branches to all PTY_TOOL case statements
- Check kill -0 BRIDGE_PID inside the port readiness loop to fail fast if the
  bridge exits before its ports are ready
- Add SIGTERM/SIGINT trap with a cleanup() function in run mode so Docker stop
  properly reaps bridge and socat children instead of waiting for the kill timeout
- Replace \$(hostname) with <container> placeholder in user-facing error messages
2026-04-29 21:50:50 +02:00
c41ms0n
7516b3b234 chore: update TCP healthcheck for multiple mail services
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-29 21:50:50 +02:00
c41ms0n
05a0388dd6 build: add reptyr support and validation to PTY_TOOL
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-29 21:50:50 +02:00
c41ms0n
3913448f2f build: switch to Go-based multi-stage build and improve
- Use golang:1.26-trixie builder instead of debian:sid
- Build proton-bridge from source via version argument/envelopment
- Add support for PTY tools (dtach, abduco, reptyr) for interactive sessions
- Introduce manage and attach commands for bridge CLI sessions
- Improve daemon startup with port readiness checks
- Add HEALTHCHECK and configurable CMD/ENTRYPOINT
- Harden entrypoint with strict bash flags and better error handling
- Install additional runtime deps (libfido2, procps) and optional PTY tools
2026-04-29 21:50:50 +02:00
GitHub Actions
57c519436e Bump version to v3.24.2 2026-04-28 00:41:18 +00:00
GitHub Actions
108ea914bf Bump version to v3.24.1 2026-04-21 00:36:32 +00:00
GitHub Actions
e02b51acc3 Bump version to v3.23.1 2026-03-24 00:25:06 +00:00
GitHub Actions
97014ae98c Bump version to v3.22.0 2026-02-10 00:32:52 +00:00
GitHub Actions
044ea2b034 Bump version to v3.21.2 2025-07-23 00:21:43 +00:00
GitHub Actions
b643ecf9b6 Bump version to v3.21.1 2025-06-19 00:20:36 +00:00
GitHub Actions
e788a0098e Bump version to v3.20.0 2025-05-16 00:20:00 +00:00
Simon Ungar Felding
4c7b9b9a8c fix version 2025-04-25 09:47:00 +02:00
Simon Ungar Felding
6b4a3e23a8 fix based on https://stackoverflow.com/questions/75521775/buildx-docker-image-claims-to-be-a-manifest-list 2025-04-25 00:20:40 +02:00
Simon Ungar Felding
e67c6cb97a fix push by digest 2025-04-24 23:36:08 +02:00
Simon Ungar Felding
84b7a76320 fix tags 2025-04-24 23:29:50 +02:00
Simon Ungar Felding
7e1b2d7104 fix build tags 2025-04-24 23:26:11 +02:00
Simon Ungar Felding
89d488b2fb fix build password 2025-04-24 23:11:47 +02:00
simonfelding
4ccd39856a
improve build readability and speed (by parallelization) (#117) 2025-04-24 23:03:50 +02:00
GitHub Actions
540ba69528 Bump deb version to 3.19.0-1 2025-04-02 00:18:53 +00:00
GitHub Actions
546f813ea4 Bump build version to 3.19.0 2025-03-19 00:18:37 +00:00
GitHub Actions
794e58400a Bump deb version to 3.18.0-1 2025-03-07 00:17:55 +00:00
GitHub Actions
2bd42d97ca Bump build version to 3.18.0 2025-02-28 00:17:35 +00:00
GitHub Actions
c87479ac51 Bump deb version to 3.17.0-1 2025-02-20 00:17:27 +00:00
schklom
8ffef34853
Build when deb/* changes (#97)
The build calls to Protonmail's repo and builds from it. When that repo
changes (i.e. when deb/* changes), the image should be built again.

---------

Co-authored-by: Simon Ungar Felding <45149055+simonfelding@users.noreply.github.com>
2025-02-17 13:03:56 +01:00
simonfelding
2745c6eb57
deb build: make sure it has the necessary tools (#116) 2025-02-17 10:15:22 +01:00
simonfelding
d00645ffcc
add vaulteditor and fix build on arm (#114)
first working build for a long time
2025-02-15 19:38:15 +01:00
simonfelding
a19458f703
fix builds by switching base layer to debian:sid-slim
tested locally, works fine.
debian has supported riscv64 in the sid image for some time.

this is the same thing the carlosedp/golang image did.

this also fixes the bug with the wrong glibc version, as the build
container now uses the same glibc version as the final container.
2025-02-15 17:07:15 +01:00
GitHub Actions
d2828adae6 Bump build version to 3.17.0 2025-02-14 00:17:18 +00:00
GitHub Actions
3d628a35e3 Bump deb version to 3.16.0-1 2025-02-14 00:17:17 +00:00
GitHub Actions
718ccfacc2 Bump build version to 3.20.12 2025-02-13 00:17:18 +00:00
GitHub Actions
6d4c8eee6c Bump deb version to 3.17.0-1 2025-02-11 00:17:05 +00:00
GitHub Actions
1cd0a1e01a Bump build version to 3.17.0 2025-01-30 00:16:31 +00:00
GitHub Actions
a92c7d34d6 Bump deb version to 3.16.0-1 2025-01-15 00:16:57 +00:00
GitHub Actions
c7cef79482 Bump build version to 3.16.0 2024-12-18 00:18:00 +00:00
GitHub Actions
7090760703 Bump deb version to 3.15.1-1 2024-12-12 00:18:23 +00:00
GitHub Actions
11cf98c1f4 Bump build version to 3.15.1 2024-12-06 00:18:35 +00:00
GitHub Actions
69fd67721a Bump deb version to 3.15.0-1 2024-11-26 00:18:12 +00:00
GitHub Actions
abf6dd9055 Bump build version to 3.15.0 2024-11-14 00:16:51 +00:00
GitHub Actions
363cef56c2 Bump deb version to 3.14.0-1 2024-10-23 00:16:59 +00:00
GitHub Actions
63e7e3098e Bump build version to 3.14.0 2024-10-01 00:18:58 +00:00
GitHub Actions
64b50d7e24 Bump build version to 3.13.0 2024-09-11 00:15:41 +00:00
GitHub Actions
f3da872c45 Bump deb version to 3.12.0-1 2024-07-03 00:14:31 +00:00
GitHub Actions
48717095db Bump build version to 3.12.0 2024-06-20 00:13:45 +00:00
GitHub Actions
8d820748ee Bump deb version to 3.11.1-1 2024-05-24 00:14:19 +00:00
GitHub Actions
471a00b96b Bump build version to 3.11.1 2024-05-22 00:13:26 +00:00
GitHub Actions
9b21cf69f1 Bump deb version to 3.11.0-1 2024-05-14 00:13:49 +00:00