This repository has been archived on 2024-06-24. You can view files and clone it, but cannot push or open issues or pull requests.
augie/webapp/Dockerfile.template

47 lines
1.6 KiB
Docker
Raw Normal View History

FROM registry.gitlab.com/jimsy/balena-elixir/%%BALENA_ARCH%%-alpine:1.10 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/
2019-11-29 17:55:52 +13:00
WORKDIR /app
RUN mix deps.get
RUN mix deps.compile
2019-11-29 17:55:52 +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
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
2019-11-29 17:55:52 +13:00
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
2019-11-29 17:55:52 +13:00
COPY --from=assets /app/priv/static /app/priv/static
WORKDIR /app
ENV SECRET_KEY_BASE=not-actually-used-at-runtime
2019-11-29 17:55:52 +13:00
RUN mix phx.digest
RUN mix release --overwrite
2019-11-29 17:55:52 +13:00
FROM balenalib/%%BALENA_MACHINE_NAME%%-alpine
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