Dockerfile 1007 B

123456789101112131415161718192021222324
  1. FROM python:3.9-alpine AS build
  2. ARG S3QL_VERSION=5.0.0
  3. COPY requirements.txt /
  4. RUN apk --no-cache add curl gnupg jq bzip2 g++ make pkgconfig fuse3-dev sqlite-dev libffi-dev openssl-dev cargo git cython sphinx
  5. RUN pip install --user --ignore-installed -r requirements.txt
  6. ARG FILE="s3ql-$S3QL_VERSION"
  7. RUN git clone https://github.com/s3ql/s3ql.git $FILE
  8. WORKDIR $FILE
  9. RUN CI=true python3 setup.py build_cython build_ext --inplace \
  10. && python3 setup.py install --user
  11. FROM python:3.9-alpine
  12. RUN apk --no-cache add libstdc++ fuse3 psmisc && pip install --user --ignore-installed packaging
  13. COPY --from=build /root/.local/bin/ /usr/local/bin/
  14. COPY --from=build /root/.local/lib/ /usr/local/lib/
  15. COPY ./authfile.sh ./entrypoint.sh ./mount.sh /usr/local/bin/
  16. RUN chmod 755 /usr/local/bin/*.sh
  17. ENV MOUNTPOINT=/s3ql
  18. VOLUME /root/.s3ql
  19. HEALTHCHECK --interval=300s CMD ["/bin/sh","-c","s3qlstat --quiet $MOUNTPOINT"]
  20. ENTRYPOINT ["/bin/sh","/usr/local/bin/entrypoint.sh"]
  21. CMD ["/bin/sh","/usr/local/bin/mount.sh"]