index.community/backend/Dockerfile

56 lines
938 B
Docker
Raw Normal View History

2020-10-06 16:46:41 +00:00
FROM elixir:1.10-alpine as build
2019-07-14 11:47:06 +00:00
# install build dependencies
RUN apk add --update git build-base
# prepare build dir
RUN mkdir /app
WORKDIR /app
# install hex + rebar
RUN mix local.hex --force && \
mix local.rebar --force
# set build ENV
2021-01-17 09:47:23 +00:00
ENV MIX_ENV=dev
2019-07-14 11:47:06 +00:00
# install mix dependencies
COPY mix.exs ./
COPY mix.lock ./
COPY config config
2019-07-14 11:47:06 +00:00
RUN mix deps.get
RUN mix deps.compile
# build assets
# COPY assets assets
# RUN cd assets && npm install && npm run deploy
# RUN mix phx.digest
# build project
COPY priv priv
COPY lib lib
RUN mix compile
# build release
COPY rel rel
RUN mix release
# prepare release image
FROM alpine:3.9 AS app
RUN apk add --update bash openssl
RUN mkdir /app
WORKDIR /app
ENV APP_NAME=backend
COPY --from=build /app/_build/prod/rel/${APP_NAME} ./
2019-07-17 11:40:21 +00:00
COPY Procfile ./
2019-07-14 11:47:06 +00:00
RUN chown -R nobody: /app
USER nobody
ENV HOME=/app
# The command to start the backend
CMD trap 'exit' INT; ${HOME}/bin/${APP_NAME} start