Dockerfile 1.0 KB

123456789101112131415161718192021222324252627
  1. FROM python:3.8-alpine AS build
  2. ARG S3QL_VERSION=3.8.1
  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
  5. RUN pip install --user --ignore-installed -r requirements.txt
  6. ARG FILE="s3ql-$S3QL_VERSION"
  7. ARG URL="https://github.com/s3ql/s3ql/releases/download/release-$S3QL_VERSION/$FILE.tar.gz"
  8. RUN set -x; \
  9. curl -sfL "$URL" -o "/tmp/$FILE.tar.gz" \
  10. && tar -xmf "/tmp/$FILE.tar.gz"
  11. WORKDIR $FILE
  12. RUN python3 setup.py build_ext --inplace \
  13. && python3 setup.py install --user
  14. FROM python:3.8-alpine
  15. RUN apk --no-cache add fuse3 psmisc
  16. COPY --from=build /root/.local/bin/ /usr/local/bin/
  17. COPY --from=build /root/.local/lib/ /usr/local/lib/
  18. COPY ./authfile.sh ./entrypoint.sh ./mount.sh /usr/local/bin/
  19. RUN chmod 755 /usr/local/bin/*.sh
  20. ENV MOUNTPOINT=/s3ql
  21. VOLUME /root/.s3ql
  22. HEALTHCHECK --interval=300s CMD ["/bin/sh","-c","s3qlstat --quiet $MOUNTPOINT"]
  23. ENTRYPOINT ["/bin/sh","/usr/local/bin/entrypoint.sh"]
  24. CMD ["/bin/sh","/usr/local/bin/mount.sh"]