]> cat aescling's git repositories - mastodon.git/commitdiff
Minor fix & improvement for the Dockerfile (#14686)
authorKairui Song | 宋恺睿 <ryncsn@gmail.com>
Sun, 30 Aug 2020 14:45:49 +0000 (22:45 +0800)
committerGitHub <noreply@github.com>
Sun, 30 Aug 2020 14:45:49 +0000 (16:45 +0200)
* Dockerfile: Fix building with multiarch

Tested on amd64 and arm64

* Reduce docker image size by clean up some unneeded source file

Dockerfile

index fa6abad5a1369081d3922a663db636cd27f6e10f..c52f89fdca1eef00be91b8f19dd0a17614d1821b 100644 (file)
@@ -36,7 +36,8 @@ RUN apt update && \
        ./autogen.sh && \
        ./configure --prefix=/opt/jemalloc && \
        make -j$(nproc) > /dev/null && \
-       make install_bin install_include install_lib
+       make install_bin install_include install_lib && \
+       cd .. && rm -rf jemalloc-$JE_VER $JE_VER.tar.gz
 
 # Install Ruby
 ENV RUBY_VER="2.6.6"
@@ -56,7 +57,8 @@ RUN apt update && \
          --disable-install-doc && \
        ln -s /opt/jemalloc/lib/* /usr/lib/ && \
        make -j$(nproc) > /dev/null && \
-       make install
+       make install && \
+       cd .. && rm -rf ruby-$RUBY_VER.tar.gz ruby-$RUBY_VER
 
 ENV PATH="${PATH}:/opt/ruby/bin:/opt/node/bin"
 
@@ -107,11 +109,14 @@ RUN apt -y --no-install-recommends install \
        rm -rf /var/lib/apt/lists/*
 
 # Add tini
-ENV TINI_VERSION="0.18.0"
-ENV TINI_SUM="12d20136605531b09a2c2dac02ccee85e1b874eb322ef6baf7561cd93f93c855"
-ADD https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini /tini
-RUN echo "$TINI_SUM tini" | sha256sum -c -
-RUN chmod +x /tini
+ENV TINI_VERSION="0.19.0"
+RUN dpkgArch="$(dpkg --print-architecture)" && \
+       ARCH=$dpkgArch && \
+       wget https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$ARCH \
+       https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$ARCH.sha256sum && \
+       cat tini-$ARCH.sha256sum | sha256sum -c - && \
+       mv tini-$ARCH /tini && rm tini-$ARCH.sha256sum && \
+       chmod +x /tini
 
 # Copy over mastodon source, and dependencies from building, and set permissions
 COPY --chown=mastodon:mastodon . /opt/mastodon