X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=Dockerfile;h=6ba7a226956a4e540e7dcd43bc9442f1af873abb;hb=f667884962553e2c0fb99f7f110489460333fc57;hp=e6210affbf1600f6a2f00c1b0a408adfb308d3bf;hpb=ff16840cc8fac0f2ae9d183b4e5d5e5fae530a9e;p=akkoma diff --git a/Dockerfile b/Dockerfile index e6210affb..6ba7a2269 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,8 @@ -FROM hexpm/elixir:1.13.4-erlang-24.3.4.2-alpine-3.16.0 as build - -COPY . . +FROM hexpm/elixir:1.13.4-erlang-24.3.4.5-alpine-3.15.6 ENV MIX_ENV=prod -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 +13,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"]