FROM balenalib/%%BALENA_MACHINE_NAME%%-debian:buster as build ENV ERLANG_VERSION 22.1 ENV ERLANG_HASH 7b26f64eb6c712968d8477759fc716d64701d41f6325e8a4d0dd9c31de77284a ENV ELIXIR_VERSION 1.9.1 ENV ELIXIR_HASH 94daa716abbd4493405fb2032514195077ac7bc73dc2999922f13c7d8ea58777 RUN set -x \ && apt-key adv --keyserver keyserver.ubuntu.com --recv-key 8B48AD6246925553 \ && apt-key adv --keyserver keyserver.ubuntu.com --recv-key 7638D0442B90D010 \ && apt-get -q update \ && apt-get install -y --no-install-recommends autoconf build-essential ca-certificates curl python dpkg-dev g++ gcc git-core libc6-dev libncurses-dev libsctp-dev libssl-dev make mercurial python-dev python-pip unixodbc-dev wget \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN set -x \ && ERLANG_DOWNLOAD_URL="https://github.com/erlang/otp/archive/OTP-${ERLANG_VERSION}.tar.gz" \ && ERLANG_ARCHIVE="OTP-$ERLANG_VERSION.tar.gz" \ && curl -fSL -o $ERLANG_ARCHIVE "$ERLANG_DOWNLOAD_URL" \ && echo "$ERLANG_HASH $ERLANG_ARCHIVE" | sha256sum -c - \ && ERL_TOP=/erlang-src \ && mkdir -vp $ERL_TOP \ && tar -xzf $ERLANG_ARCHIVE -C $ERL_TOP --strip-components=1 \ && rm $ERLANG_ARCHIVE \ && ( \ cd $ERL_TOP \ && ./otp_build autoconf \ && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ && ./configure --build="$gnuArch" \ && make \ && make install \ ) RUN set -x \ && ELIXIR_DOWNLOAD_URL="https://github.com/elixir-lang/elixir/archive/v${ELIXIR_VERSION}.tar.gz" \ && curl -fSL -o elixir-src.tar.gz $ELIXIR_DOWNLOAD_URL \ && echo "$ELIXIR_HASH elixir-src.tar.gz" | sha256sum -c - \ && mkdir /elixir-src \ && tar -xzC /elixir-src --strip-components=1 -f elixir-src.tar.gz \ && rm elixir-src.tar.gz \ && (cd /elixir-src && make install) \ && rm -rf /elixir-src RUN mix local.hex --force RUN mix local.rebar --force ENV ERL_CRASH_DUMP_BYTES=0 RUN mkdir /app WORKDIR /app COPY mix.exs mix.lock /app/ RUN mix deps.get RUN mix deps.compile COPY . /app/ CMD mix run --no-halt