2020-04-03 17:33:50 +13:00
|
|
|
FROM registry.gitlab.com/jimsy/balena-elixir/%%BALENA_ARCH%%-alpine:1.10 as elixir
|
2019-12-09 08:02:00 +13:00
|
|
|
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
|
2019-12-01 17:04:32 +13:00
|
|
|
RUN mix local.hex --force
|
|
|
|
RUN mix local.rebar --force
|
|
|
|
ENV MIX_ENV=prod
|
|
|
|
|
|
|
|
FROM elixir as deps
|
|
|
|
COPY mix.exs mix.lock /app/
|
2019-11-29 17:55:52 +13:00
|
|
|
WORKDIR /app
|
|
|
|
RUN mix deps.get
|
2019-12-01 17:04:32 +13:00
|
|
|
RUN mix deps.compile
|
2019-11-29 17:55:52 +13:00
|
|
|
|
2020-04-03 17:33:50 +13:00
|
|
|
# FROM balenalib/%%BALENA_MACHINE_NAME%%-debian-node:latest-build as assets
|
|
|
|
FROM balenalib/amd64-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
|
2019-12-20 10:20:59 +13:00
|
|
|
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
|
2019-12-01 17:04:32 +13:00
|
|
|
COPY assets /app/assets
|
2019-12-20 10:20:59 +13:00
|
|
|
WORKDIR /app/assets
|
2020-04-03 17:33:50 +13:00
|
|
|
RUN yarn install --ignore-optional --non-interactive --frozen-lockfile
|
2019-12-20 10:20:59 +13:00
|
|
|
RUN yarn run deploy
|
2019-11-29 17:55:52 +13:00
|
|
|
|
|
|
|
FROM elixir as releaser
|
2019-12-01 17:04:32 +13:00
|
|
|
COPY --from=deps /app /app
|
|
|
|
COPY config /app/config
|
|
|
|
COPY lib /app/lib
|
|
|
|
COPY priv /app/priv
|
|
|
|
COPY rel /app/rel
|
2019-11-29 17:55:52 +13:00
|
|
|
COPY --from=assets /app/priv/static /app/priv/static
|
2019-12-01 17:04:32 +13:00
|
|
|
WORKDIR /app
|
|
|
|
ENV SECRET_KEY_BASE=not-actually-used-at-runtime
|
2019-11-29 17:55:52 +13:00
|
|
|
RUN mix phx.digest
|
2019-12-13 09:23:18 +13:00
|
|
|
RUN mix release --overwrite
|
2019-11-29 17:55:52 +13:00
|
|
|
|
|
|
|
FROM balenalib/%%BALENA_MACHINE_NAME%%-alpine
|
2019-12-04 14:00:04 +13:00
|
|
|
RUN install_packages raspberrypi
|
2019-11-29 17:55:52 +13:00
|
|
|
ENV ERL_CRASH_DUMP_BYTES=0
|
|
|
|
COPY --from=releaser /app/_build/prod/rel/augie /app
|
|
|
|
WORKDIR /app
|
|
|
|
CMD /app/bin/augie start
|