X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=Dockerfile;h=42ba9616bb79a2f1feb3fabf50443cecff1d5e4d;hb=47a793f33ec1a7a15763ef8ce992a8ec7a7aaea5;hp=59a352bbcda3ddbaf728f5eca08da54f6d8f7f54;hpb=4b422b54699ac55a1bc32d2b42c0d55d0b68b4fb;p=akkoma diff --git a/Dockerfile b/Dockerfile index 59a352bbc..42ba9616b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,39 +1,50 @@ -FROM elixir:1.9-alpine as build +FROM elixir:1.13.4-alpine as build COPY . . ENV MIX_ENV=prod -RUN apk add git gcc g++ musl-dev make &&\ - echo "import Mix.Config" > config/prod.secret.exs &&\ +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:latest +FROM alpine:3.16 -ARG HOME=/opt/pleroma -ARG DATA=/var/lib/pleroma +ARG BUILD_DATE +ARG VCS_REF -RUN echo "http://nl.alpinelinux.org/alpine/latest-stable/community" >> /etc/apk/repositories &&\ - apk update &&\ - apk add ncurses postgresql-client &&\ - adduser --system --shell /bin/false --home ${HOME} pleroma &&\ +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://akkoma.dev" \ + org.opencontainers.image.revision=$VCS_REF \ + org.opencontainers.image.created=$BUILD_DATE + +ARG HOME=/opt/akkoma +ARG DATA=/var/lib/akkoma + +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 pleroma ${DATA} &&\ - mkdir -p /etc/pleroma &&\ - chown -R pleroma /etc/pleroma + chown -R akkoma ${DATA} &&\ + mkdir -p /etc/akkoma &&\ + chown -R akkoma /etc/akkoma -USER pleroma +USER akkoma -COPY --from=build --chown=pleroma:0 /release ${HOME} +COPY --from=build --chown=akkoma:0 /release ${HOME} -COPY ./config/docker.exs /etc/pleroma/config.exs +COPY ./config/docker.exs /etc/akkoma/config.exs COPY ./docker-entrypoint.sh ${HOME} EXPOSE 4000 -ENTRYPOINT ["/opt/pleroma/docker-entrypoint.sh"] +ENTRYPOINT ["/opt/akkoma/docker-entrypoint.sh"]