FROM registry.gitlab.com/jimsy/balena-elixir/%%BALENA_MACHINE_NAME%%-debian-build:1.10-latest as elixir RUN install_packages libraspberrypi0 libraspberrypi-bin build-essential libraspberrypi-dev raspberrypi-kernel-headers RUN mix local.hex --force RUN mix local.rebar --force ENV MIX_ENV=prod FROM elixir as deps COPY mix.exs mix.lock /app/ WORKDIR /app RUN mix deps.get RUN mix deps.compile FROM balenalib/%%BALENA_MACHINE_NAME%%-debian-node:latest-build as assets RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list RUN install_packages yarn COPY --from=deps /app/deps/phoenix /app/deps/phoenix COPY --from=deps /app/deps/phoenix_html /app/deps/phoenix_html COPY --from=deps /app/deps/phoenix_live_view /app/deps/phoenix_live_view COPY assets /app/assets WORKDIR /app/assets RUN yarn install --ignore-optional --non-interactive --frozen-lockfile RUN yarn run deploy FROM elixir as releaser COPY --from=deps /app /app COPY config /app/config COPY lib /app/lib COPY priv /app/priv COPY rel /app/rel COPY --from=assets /app/priv/static /app/priv/static WORKDIR /app ENV SECRET_KEY_BASE=not-actually-used-at-runtime RUN mix phx.digest RUN mix release --overwrite FROM balenalib/%%BALENA_MACHINE_NAME%%-debian RUN install_packages libraspberrypi0 libraspberrypi-bin ENV ERL_CRASH_DUMP_BYTES=0 COPY --from=releaser /app/_build/prod/rel/augie /app WORKDIR /app CMD /app/bin/augie start