# Use carlosedp/golang for riscv64 support
FROM ubuntu:jammy AS build

# Install dependencies
RUN apt-get update && apt-get install -y git build-essential libsecret-1-dev curl

ARG GO_VERSION=1.22.0
RUN ARCH=$(uname -m) && \
    if [ "${ARCH}" = "x86_64" ]; then ARCH="amd64"; fi && \
    curl -sL https://go.dev/dl/go${GO_VERSION}.linux-${ARCH}.tar.gz \
    | tar -C /usr/local -xzf -
ENV PATH=/usr/local/go/bin:${PATH}

# Build
WORKDIR /build/
COPY build.sh VERSION /build/
RUN bash build.sh

FROM ubuntu:jammy
LABEL maintainer="Xiaonan Shen <s@sxn.dev>"

EXPOSE 25/tcp
EXPOSE 143/tcp

# Install dependencies and protonmail bridge
RUN apt-get update \
    && apt-get install -y --no-install-recommends socat pass libsecret-1-0 ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# Copy bash scripts
COPY gpgparams entrypoint.sh /protonmail/

# Copy protonmail
COPY --from=build /build/proton-bridge/bridge /protonmail/
COPY --from=build /build/proton-bridge/proton-bridge /protonmail/

ENTRYPOINT ["bash", "/protonmail/entrypoint.sh"]
