X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=Dockerfile;h=c6506c48c5aa2920ddc6a9b1569aa2ea31626fb8;hb=963d29ad8cd2c32fe408d608bd644e1db3ebbda1;hp=42ba9616bb79a2f1feb3fabf50443cecff1d5e4d;hpb=645f0390bcb64849dc69b59caf93947585e82d71;p=akkoma diff --git a/Dockerfile b/Dockerfile index 42ba9616b..c6506c48c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,9 @@ -FROM elixir:1.13.4-alpine as build - -COPY . . +FROM hexpm/elixir:1.14.3-erlang-25.3-alpine-3.17.2 ENV MIX_ENV=prod +ENV ERL_EPMD_ADDRESS=127.0.0.1 -RUN apk add git gcc g++ musl-dev make cmake file-dev &&\ - echo "import Config" > config/prod.secret.exs &&\ - mix local.hex --force &&\ - mix local.rebar --force &&\ - mix deps.get --only prod &&\ - mkdir release &&\ - mix release --path release - -FROM alpine:3.16 - -ARG BUILD_DATE -ARG VCS_REF +ARG HOME=/opt/akkoma LABEL org.opencontainers.image.title="akkoma" \ org.opencontainers.image.description="Akkoma for Docker" \ @@ -26,25 +14,21 @@ LABEL org.opencontainers.image.title="akkoma" \ org.opencontainers.image.revision=$VCS_REF \ org.opencontainers.image.created=$BUILD_DATE -ARG HOME=/opt/akkoma -ARG DATA=/var/lib/akkoma +RUN apk add git gcc g++ musl-dev make cmake file-dev exiftool ffmpeg imagemagick libmagic ncurses postgresql-client -RUN apk update &&\ - apk add exiftool ffmpeg imagemagick libmagic ncurses postgresql-client &&\ - adduser --system --shell /bin/false --home ${HOME} akkoma &&\ - mkdir -p ${DATA}/uploads &&\ - mkdir -p ${DATA}/static &&\ - chown -R akkoma ${DATA} &&\ - mkdir -p /etc/akkoma &&\ - chown -R akkoma /etc/akkoma +EXPOSE 4000 -USER akkoma +ARG UID=1000 +ARG GID=1000 +ARG UNAME=akkoma -COPY --from=build --chown=akkoma:0 /release ${HOME} +RUN addgroup -g $GID $UNAME +RUN adduser -u $UID -G $UNAME -D -h $HOME $UNAME -COPY ./config/docker.exs /etc/akkoma/config.exs -COPY ./docker-entrypoint.sh ${HOME} +WORKDIR /opt/akkoma -EXPOSE 4000 +USER $UNAME +RUN mix local.hex --force &&\ + mix local.rebar --force -ENTRYPOINT ["/opt/akkoma/docker-entrypoint.sh"] +CMD ["/opt/akkoma/docker-entrypoint.sh"]