| ADD alpine-minirootfs-3.22.2-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| ENV OTP_VERSION=28.2 REBAR3_VERSION=3.25.0 |
| LABEL org.opencontainers.image.version=28.2 |
| 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="b0f6e1273a034e91c4fa6895e8cb84276baf5ca7a23b29da4f04ff9d0419a0c2" && REBAR3_DOWNLOAD_SHA256="7d3f42dc0e126e18fb73e4366129f11dd37bad14d404f461e0a3129ce8903440" && apk add --no-cache --virtual .fetch-deps curl ca-certificates && curl -fSL -o otp-src.tar.gz "$OTP_DOWNLOAD_URL" && echo "$OTP_DOWNLOAD_SHA256 otp-src.tar.gz" | sha256sum -c - && apk add --no-cache --virtual .build-deps dpkg-dev dpkg gcc g++ libc-dev linux-headers make autoconf ncurses-dev openssl-dev unixodbc-dev lksctp-tools-dev tar && 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$(getconf _NPROCESSORS_ONLN) && make install ) && rm -rf $ERL_TOP && find /usr/local -regex '/usr/local/lib/erlang/\(lib/\|erts-\).*/\(man\|doc\|obj\|c_src\|emacs\|info\|examples\)' | xargs rm -rf && find /usr/local -name src | xargs -r find | grep -v '\.hrl$' | xargs rm -v || true && find /usr/local -name src | xargs -r find | xargs rmdir -vp || true && scanelf --nobanner -E ET_EXEC -BF '%F' --recursive /usr/local | xargs -r strip --strip-all && scanelf --nobanner -E ET_DYN -BF '%F' --recursive /usr/local | xargs -r strip --strip-unneeded && runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )" && REBAR3_DOWNLOAD_URL="https://github.com/erlang/rebar3/archive/${REBAR3_VERSION}.tar.gz" && curl -fSL -o rebar3-src.tar.gz "$REBAR3_DOWNLOAD_URL" && echo "${REBAR3_DOWNLOAD_SHA256} rebar3-src.tar.gz" | sha256sum -c - && mkdir -p /usr/src/rebar3-src && 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 && apk add --virtual .erlang-rundeps $runDeps lksctp-tools ca-certificates && apk del .fetch-deps .build-deps # buildkit |
| CMD ["erl"] |
| ENV ELIXIR_VERSION=v1.19.4 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="a2df9d5411fc53d97ec17c069765c8fb781f8dc36c4e06ec1cd4b189340d364b" && buildDeps=' ca-certificates curl make ' && apk add --no-cache --virtual .build-deps $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 && apk del .build-deps # buildkit |
| CMD ["iex"] |
| RUN /bin/sh -c apk add --no-cache libstdc++ ncurses-libs postgresql-client wget # buildkit |
| ENV MIX_ENV=prod |
| ENV PHX_SERVER=true |
| RUN /bin/sh -c addgroup -g 1000 elixir && adduser -u 1000 -G elixir -s /bin/sh -D elixir # buildkit |
| WORKDIR /app |
| COPY --chown=elixir:elixir /app/_build/prod/rel/doctorkit ./ # buildkit |
| USER elixir |
| EXPOSE &{[{{88 0} {88 0}}] 0xc0005a4840} |
| HEALTHCHECK &{["CMD-SHELL" "wget --no-verbose --tries=1 --spider http://localhost:4000/api/health || exit 1"] "30s" "5s" "30s" "0s" '\x03'} |
| CMD ["bin/doctorkit" "start"] |