From 8cb879af2ed29c09cccfd871e50f7fc96f6361de Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sat, 14 Nov 2020 18:04:00 +0300 Subject: [PATCH] Dockerfile: build as non-root user --- Dockerfile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6071d60e6..5fca04eeb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,16 +12,24 @@ file \ build-essential \ && rm -rf /var/lib/apt/lists/* -ENV ANDROID_SDK_ROOT /android-sdk +ARG USER=deltachat +ARG UID=1000 +ARG GID=1000 -WORKDIR /android-sdk +RUN groupadd -g $GID -o $USER +RUN useradd -m -u $UID -g $GID -o $USER +USER $USER + +ENV ANDROID_SDK_ROOT /home/${USER}/android-sdk +RUN mkdir ${ANDROID_SDK_ROOT} +WORKDIR $ANDROID_SDK_ROOT RUN wget -q https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip && \ unzip commandlinetools-linux-6200805_latest.zip && \ rm commandlinetools-linux-6200805_latest.zip RUN yes | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} --licenses -ENV PATH ${PATH}:/android-sdk/tools/bin +ENV PATH ${PATH}:${ANDROID_SDK_ROOT}/tools/bin # Install NDK manually. Other SDK parts are installed automatically by gradle. RUN sdkmanager --sdk_root=${ANDROID_SDK_ROOT} ndk-bundle @@ -30,4 +38,4 @@ ENV ANDROID_NDK_ROOT ${ANDROID_SDK_ROOT}/ndk-bundle ENV PATH ${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT} RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none -ENV PATH ${PATH}:/root/.cargo/bin +ENV PATH ${PATH}:/home/${USER}/.cargo/bin