Improve dockerfile

This commit is contained in:
Xiaonan Shen
2021-09-04 18:00:23 +08:00
parent 0fb64c241c
commit 9c56bb2861
6 changed files with 180 additions and 120 deletions

View File

@@ -3,14 +3,13 @@ FROM golang:1.16 AS build
# Install dependencies
RUN apt-get update && apt-get install -y libsecret-1-dev
ARG PROTONMAIL_BRIDGE_VERSION
# Build
WORKDIR /build/
COPY VERSION /build/
RUN VERSION=$(cat VERSION) && \
curl -L https://github.com/ProtonMail/proton-bridge/archive/refs/tags/${VERSION}.tar.gz \
| tar zx --strip-component 1 && \
make build-nogui
RUN curl -L https://github.com/ProtonMail/proton-bridge/archive/refs/tags/${PROTONMAIL_BRIDGE_VERSION}.tar.gz \
| tar zx --strip-component 1
RUN make build-nogui
FROM ubuntu:bionic
LABEL maintainer="Xiaonan Shen <s@sxn.dev>"
@@ -24,19 +23,20 @@ RUN apt-get update \
expect socat pass libsecret-1-0 ca-certificates \
&& rm -rf /var/lib/apt/lists/*
ENV PATH="/srv/protonmail:$PATH"
# Copy protonmail
COPY --from=build /build/proton-bridge/proton-bridge /protonmail/
COPY --from=build /build/proton-bridge /srv/protonmail/
# Copy bash scripts
COPY gpgparams entrypoint.sh login.exp /protonmail/
COPY gpgparams entrypoint.sh auto-login.exp login.sh /srv/protonmail/
RUN chmod +x /protonmail/login.exp
# Add a user 'protonmail' with UID 8535
RUN useradd -u 8535 -d /home/protonmail protonmail \
&& mkdir -p /home/protonmail \
&& chown protonmail: /home/protonmail
# change to non-privileged user for extra security
# Create use and group for protonmail
RUN groupadd --gid 8535 protonmail \
&& useradd --uid 8535 --gid 8535 --home-dir /protonmail protonmail \
&& mkdir /protonmail \
&& chown protonmail:protonmail /protonmail
USER protonmail
WORKDIR /protonmail
ENTRYPOINT ["bash", "/protonmail/entrypoint.sh"]
ENTRYPOINT ["bash", "/srv/protonmail/entrypoint.sh"]