FROM registry.gitlab.com/jimsy/balena-elixir/%%BALENA_ARCH%%-alpine:1.9 as elixir RUN install_packages \ autoconf build-base ca-certificates coreutils curl dpkg dpkg-dev g++ gcc git \ libc-dev linux-headers lksctp-tools lksctp-tools-dev make musl-dev \ ncurses-dev openssl openssl-dev perl-dev tar unixodbc-dev wget zlib-dev 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 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 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%%-alpine RUN install_packages raspberrypi ENV ERL_CRASH_DUMP_BYTES=0 COPY --from=releaser /app/_build/prod/rel/augie /app WORKDIR /app CMD /app/bin/augie start