fix container change back to debian for older systems
Build and Push Docker Container / build-and-push (push) Successful in 8m39s

This commit is contained in:
GitHub Actions
2026-03-11 15:03:11 +01:00
parent 2ca2b80ff4
commit c62fe08152
3 changed files with 42 additions and 45 deletions
+11 -15
View File
@@ -1,11 +1,13 @@
FROM golang:alpine AS build FROM golang:trixie AS build
ARG VERSION ARG VERSION
RUN apk add --no-cache pass gcc musl-dev git make \ RUN apt-get update && apt-get install -y \
libsecret-dev \ build-essential \
libsecret-1-dev \
libfido2-dev \ libfido2-dev \
libcbor-dev libcbor-dev \
pass
# Build # Build
ADD https://github.com/ProtonMail/proton-bridge.git#${VERSION} /build/proton-bridge/ ADD https://github.com/ProtonMail/proton-bridge.git#${VERSION} /build/proton-bridge/
@@ -13,25 +15,19 @@ WORKDIR /build/proton-bridge/
RUN sed -i 's/127.0.0.1/0.0.0.0/g' internal/constants/constants.go RUN sed -i 's/127.0.0.1/0.0.0.0/g' internal/constants/constants.go
RUN make build-nogui vault-editor RUN make build-nogui vault-editor
FROM alpine:latest FROM debian:trixie
EXPOSE 1025/tcp EXPOSE 1025/tcp
EXPOSE 1143/tcp EXPOSE 1143/tcp
RUN mkdir -p /root/.gnupg && chmod 700 /root/.gnupg
# Install dependencies and protonmail bridge # Install dependencies and protonmail bridge
RUN apk add --no-cache \ RUN apt-get update && apt-get install -y \
gcompat \
libsecret \
libfido2 \
gnupg \ gnupg \
pass \ pass \
libsecret-1-0 \
libfido2-1 \
ca-certificates \ ca-certificates \
dbus \ && rm -rf /var/lib/apt/lists/*
dbus-x11 \
gnome-keyring \
haveged
# Copy bash scripts # Copy bash scripts
COPY gpgparams entrypoint.sh /protonmail/ COPY gpgparams entrypoint.sh /protonmail/
+18 -17
View File
@@ -1,24 +1,25 @@
#!/bin/bash #!/bin/sh
set -ex set -e
# start entropy mkdir -p /root/.gnupg
haveged -w 1024 & chmod 700 /root/.gnupg
# start dbus # Initialize pass store if missing
eval $(dbus-launch --sh-syntax) if [ ! -d "/root/.password-store" ]; then
echo "Initializing password store..."
# start secret service # Generate GPG key
export $(gnome-keyring-daemon --start --components=secrets) gpg --batch --gen-key /protonmail/gpgparams
chmod 700 /root/.gnupg || true # Extract fingerprint
KEY=$(gpg --list-secret-keys --with-colons | awk -F: '/^sec:/ {print $5; exit}')
# Initialize pass
pass init "$KEY"
fi
# Initialize # Initialize
if [[ $1 == init ]]; then if [[ "$1" == "init" ]]; then
gpg --generate-key --batch /protonmail/gpgparams
KEY=$(gpg --list-secret-keys --with-colons | awk -F: '/^sec:/ {print $5; exit}')
pass init "$KEY"
# Kill the other instance as only one can be running at a time. # Kill the other instance as only one can be running at a time.
# This allows users to run entrypoint init inside a running conainter # This allows users to run entrypoint init inside a running conainter
# which is useful in a k8s environment. # which is useful in a k8s environment.
@@ -26,11 +27,11 @@ if [[ $1 == init ]]; then
pkill protonmail-bridge || true pkill protonmail-bridge || true
# Run any ProtonMail Bridge Command - Login # Run any ProtonMail Bridge Command - Login
proton-bridge --cli $@ proton-bridge --cli "$@"
else else
# Start ProtonMail Bridge # Start ProtonMail Bridge
# Fake a terminal, so it does not quit because of EOF... # Fake a terminal, so it does not quit because of EOF...
rm -f faketty rm -f faketty
mkfifo faketty mkfifo faketty
cat faketty | proton-bridge --cli $@ cat faketty | proton-bridge --cli "$@"
fi fi
+3 -3
View File
@@ -1,8 +1,8 @@
%no-protection %no-protection
%echo Generating a basic OpenPGP key
Key-Type: RSA Key-Type: RSA
Key-Length: 2048 Key-Length: 2048
Name-Real: pass-key Subkey-Type: RSA
Name-Real: Proton Bridge
Name-Email: bridge@local
Expire-Date: 0 Expire-Date: 0
%commit %commit
%echo done