FROM elixir:1.17.2-alpine
LABEL org.opencontainers.image.authors="USER_EMAIL"

RUN apk add --no-cache bash git inotify-tools && \
  mkdir /build && \
  chown 1000.1000 /build && \
  mkdir /deps && \
  chown 1000.1000 /deps && \
  mkdir /home/user && \
  chown 1000.1000 /home/user

ADD docker/entrypoint.sh /entrypoint.sh

ENV MIX_BUILD_ROOT=/build
ENV MIX_DEPS_PATH=/deps
ENV HOME=/home/user
ENV PHX_SERVER=1

USER 1000:1000

RUN mix local.rebar --force && \
  mix local.hex --force

VOLUME /app
VOLUME /build
VOLUME /deps
WORKDIR /app

EXPOSE 4000

CMD ["mix", "run", "--no-halt"]
ENTRYPOINT ["/entrypoint.sh"]
