X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=Dockerfile;h=6ba7a226956a4e540e7dcd43bc9442f1af873abb;hb=f667884962553e2c0fb99f7f110489460333fc57;hp=c51ebbab04755d161d1f1305b0ad8a4112f28a49;hpb=4cf03046f5d5080ecfff8677006a03bb7ce84efb;p=akkoma diff --git a/Dockerfile b/Dockerfile index c51ebbab0..6ba7a2269 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,52 +1,33 @@ -FROM elixir:1.9-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 Mix.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.14 - -ARG BUILD_DATE -ARG VCS_REF - -LABEL maintainer="ops@pleroma.social" \ - org.opencontainers.image.title="pleroma" \ - org.opencontainers.image.description="Pleroma for Docker" \ - org.opencontainers.image.authors="ops@pleroma.social" \ - org.opencontainers.image.vendor="pleroma.social" \ - org.opencontainers.image.documentation="https://git.pleroma.social/pleroma/pleroma" \ +ARG HOME=/opt/akkoma + +LABEL org.opencontainers.image.title="akkoma" \ + org.opencontainers.image.description="Akkoma for Docker" \ + org.opencontainers.image.vendor="akkoma.dev" \ + org.opencontainers.image.documentation="https://docs.akkoma.dev/stable/" \ org.opencontainers.image.licenses="AGPL-3.0" \ - org.opencontainers.image.url="https://pleroma.social" \ + org.opencontainers.image.url="https://akkoma.dev" \ org.opencontainers.image.revision=$VCS_REF \ org.opencontainers.image.created=$BUILD_DATE -ARG HOME=/opt/pleroma -ARG DATA=/var/lib/pleroma +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} pleroma &&\ - mkdir -p ${DATA}/uploads &&\ - mkdir -p ${DATA}/static &&\ - chown -R pleroma ${DATA} &&\ - mkdir -p /etc/pleroma &&\ - chown -R pleroma /etc/pleroma +EXPOSE 4000 -USER pleroma +ARG UID=1000 +ARG GID=1000 +ARG UNAME=akkoma -COPY --from=build --chown=pleroma:0 /release ${HOME} +RUN addgroup -g $GID $UNAME +RUN adduser -u $UID -G $UNAME -D -h $HOME $UNAME -COPY ./config/docker.exs /etc/pleroma/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/pleroma/docker-entrypoint.sh"] +CMD ["/opt/akkoma/docker-entrypoint.sh"]