fix container change back to debian for older systems
Build and Push Docker Container / build-and-push (push) Successful in 8m44s
Build and Push Docker Container / build-and-push (push) Successful in 8m44s
change host 0.0.0.0 to protonmail-bridge
This commit is contained in:
+12
-16
@@ -1,37 +1,33 @@
|
|||||||
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/
|
||||||
WORKDIR /build/proton-bridge/
|
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/protonmail-bridge/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/
|
||||||
|
|||||||
+28
-27
@@ -1,36 +1,37 @@
|
|||||||
#!/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
|
# Kill the other instance as only one can be running at a time.
|
||||||
|
# This allows users to run entrypoint init inside a running conainter
|
||||||
|
# which is useful in a k8s environment.
|
||||||
|
# || true to make sure this would not fail in case there is no running instance.
|
||||||
|
pkill protonmail-bridge || true
|
||||||
|
|
||||||
KEY=$(gpg --list-secret-keys --with-colons | awk -F: '/^sec:/ {print $5; exit}')
|
# Run any ProtonMail Bridge Command - Login
|
||||||
pass init "$KEY"
|
proton-bridge --cli "$@"
|
||||||
|
|
||||||
# Kill the other instance as only one can be running at a time.
|
|
||||||
# This allows users to run entrypoint init inside a running conainter
|
|
||||||
# which is useful in a k8s environment.
|
|
||||||
# || true to make sure this would not fail in case there is no running instance.
|
|
||||||
pkill protonmail-bridge || true
|
|
||||||
|
|
||||||
# Run any ProtonMail Bridge Command - Login
|
|
||||||
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
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user