|
@@ -0,0 +1,29 @@
|
|
|
|
|
+FROM python:3.8-alpine AS build
|
|
|
|
|
+
|
|
|
|
|
+ARG S3QL_VERSION=3.8.1
|
|
|
|
|
+
|
|
|
|
|
+COPY requirements.txt /
|
|
|
|
|
+RUN apk --no-cache add curl gnupg jq bzip2 g++ make pkgconfig fuse3-dev sqlite-dev libffi-dev openssl-dev cargo
|
|
|
|
|
+RUN pip install --user --ignore-installed -r requirements.txt
|
|
|
|
|
+RUN gpg2 --batch --keyserver keyserver.ubuntu.com --recv-key 0xD113FCAC3C4E599F
|
|
|
|
|
+ARG FILE="s3ql-$S3QL_VERSION"
|
|
|
|
|
+ARG URL="https://github.com/s3ql/s3ql/releases/download/release-$S3QL_VERSION/$FILE.tar.gz"
|
|
|
|
|
+RUN set -x; \
|
|
|
|
|
+ curl -sfL "$URL" -o "/tmp/$FILE.tar.gz" \
|
|
|
|
|
+ && curl -sfL "$URL.asc" | gpg2 --batch --verify - "/tmp/$FILE.tar.gz" \
|
|
|
|
|
+ && tar -xmf "/tmp/$FILE.tar.gz"
|
|
|
|
|
+WORKDIR $FILE
|
|
|
|
|
+RUN python3 setup.py build_ext --inplace \
|
|
|
|
|
+ && python3 setup.py install --user
|
|
|
|
|
+
|
|
|
|
|
+FROM python:3.8-alpine
|
|
|
|
|
+RUN apk --no-cache add fuse3 psmisc
|
|
|
|
|
+COPY --from=build /root/.local/bin/ /usr/local/bin/
|
|
|
|
|
+COPY --from=build /root/.local/lib/ /usr/local/lib/
|
|
|
|
|
+COPY ./authfile.sh ./entrypoint.sh ./mount.sh /usr/local/bin/
|
|
|
|
|
+RUN chmod 755 /usr/local/bin/*.sh
|
|
|
|
|
+ENV MOUNTPOINT=/s3ql
|
|
|
|
|
+VOLUME /root/.s3ql
|
|
|
|
|
+HEALTHCHECK CMD ["/bin/sh","-c","s3qlstat --quiet $MOUNTPOINT"]
|
|
|
|
|
+ENTRYPOINT ["/bin/sh","/usr/local/bin/entrypoint.sh"]
|
|
|
|
|
+CMD ["/bin/sh","/usr/local/bin/mount.sh"]
|