# debian.sh --arch 'amd64' out/ 'bookworm' '@1742169600' |
ENV OTP_VERSION=27.3 REBAR3_VERSION=3.24.0 |
LABEL org.opencontainers.image.version=27.3 |
RUN /bin/sh -c set -xe && OTP_DOWNLOAD_URL="https://github.com/erlang/otp/releases/download/OTP-${OTP_VERSION}/otp_src_${OTP_VERSION}.tar.gz" && OTP_DOWNLOAD_SHA256="efe76126938f237c0d3a0e2e8753c5cb823235d4d53708833bbc0968d76c39b8" && fetchDeps=' curl ca-certificates' && apt-get update && apt-get install -y --no-install-recommends $fetchDeps && curl -fSL -o otp-src.tar.gz "$OTP_DOWNLOAD_URL" && echo "$OTP_DOWNLOAD_SHA256 otp-src.tar.gz" | sha256sum -c - && runtimeDeps=' libodbc1 libssl3 libsctp1 ' && buildDeps=' autoconf dpkg-dev gcc g++ make libncurses-dev unixodbc-dev libssl-dev libsctp-dev ' && apt-get install -y --no-install-recommends $runtimeDeps && apt-get install -y --no-install-recommends $buildDeps && export ERL_TOP="/usr/src/otp_src_${OTP_VERSION%%@*}" && mkdir -vp $ERL_TOP && tar -xzf otp-src.tar.gz -C $ERL_TOP --strip-components=1 && rm otp-src.tar.gz && ( cd $ERL_TOP && ./otp_build autoconf && gnuArch="$(dpkg-architecture --query DEB_HOST_GNU_TYPE)" && ./configure --build="$gnuArch" && make -j$(nproc) && make install ) && find /usr/local -name examples | xargs rm -rf && REBAR3_DOWNLOAD_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION}.tar.gz" && REBAR3_DOWNLOAD_SHA256="391b0eaa2825bb427fef1e55a0d166493059175f57a33b00346b84a20398216c" && mkdir -p /usr/src/rebar3-src && curl -fSL -o rebar3-src.tar.gz "$REBAR3_DOWNLOAD_URL" && echo "$REBAR3_DOWNLOAD_SHA256 rebar3-src.tar.gz" | sha256sum -c - && tar -xzf rebar3-src.tar.gz -C /usr/src/rebar3-src --strip-components=1 && rm rebar3-src.tar.gz && cd /usr/src/rebar3-src && HOME=$PWD ./bootstrap && install -v ./rebar3 /usr/local/bin/ && rm -rf /usr/src/rebar3-src && apt-get purge -y --auto-remove $buildDeps $fetchDeps && rm -rf $ERL_TOP /var/lib/apt/lists/* # buildkit |
CMD ["erl"] |
ENV ELIXIR_VERSION=v1.18.3 LANG=C.UTF-8 |
RUN /bin/sh -c set -xe && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/${ELIXIR_VERSION}.tar.gz" && ELIXIR_DOWNLOAD_SHA256="f8d4376311058dd9a78ed365fa1df9fd1b22d2468c587e3f0f4fb320283a1ed7" && buildDeps=' ca-certificates curl make ' && apt-get update && apt-get install -y --no-install-recommends $buildDeps && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL && echo "$ELIXIR_DOWNLOAD_SHA256 elixir-src.tar.gz" | sha256sum -c - && mkdir -p /usr/local/src/elixir && tar -xzC /usr/local/src/elixir --strip-components=1 -f elixir-src.tar.gz && rm elixir-src.tar.gz && cd /usr/local/src/elixir && make install clean && find /usr/local/src/elixir/ -type f -not -regex "/usr/local/src/elixir/lib/[^\/]*/lib.*" -exec rm -rf {} + && find /usr/local/src/elixir/ -type d -depth -empty -delete && apt-get purge -y --auto-remove $buildDeps && rm -rf /var/lib/apt/lists/* # buildkit |
CMD ["iex"] |
LABEL author=MrAvox maintainer=mravox@proton.me |
RUN /bin/sh -c apt update && apt -y install git dnsutils curl iproute2 ffmpeg tini && useradd -m -d /home/container container # buildkit |
USER container |
ENV USER=container HOME=/home/container |
WORKDIR /home/container |
STOPSIGNAL SIGINT |
COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh # buildkit |
RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit |
ENTRYPOINT ["/usr/bin/tini" "-g" "--"] |
CMD ["/entrypoint.sh"] |