X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=Dockerfile;h=6ba7a226956a4e540e7dcd43bc9442f1af873abb;hb=bc265bfd541ea437481786504c0334444626f06f;hp=42ba9616bb79a2f1feb3fabf50443cecff1d5e4d;hpb=5796d81d9877de51b2669da7d8f6fcc903c0ebda;p=akkoma diff --git a/Dockerfile b/Dockerfile index 42ba9616b..6ba7a2269 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,8 @@ -FROM elixir:1.13.4-alpine 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"]