Dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # syntax=docker/dockerfile:1
  2. FROM playn/mdc-buildimage:dev as builder
  3. RUN mkdir -p /tmp/mdc && cd /tmp/mdc && \
  4. # get mdc source code
  5. export MDC_SOURCE_VERSION=$(wget -qO- https://api.github.com/repos/yoshiko2/Movie_Data_Capture/releases/latest | grep '"tag_name":' | head -n 1 | sed -E 's/.*"([^"]+)".*/\1/') && \
  6. wget -O- https://github.com/yoshiko2/Movie_Data_Capture/archive/$MDC_SOURCE_VERSION.tar.gz | tar xz -C /tmp/mdc --strip-components 1 && \
  7. # fix dowload error
  8. sed -i "s/if configProxy:/if configProxy.enable:/g" core.py && \
  9. # build mdc
  10. /pyinstaller/pyinstaller.sh \
  11. --onefile Movie_Data_Capture.py \
  12. --hidden-import "ImageProcessing.cnn" \
  13. --add-data "Img:Img" \
  14. --add-data "$(python -c 'import cloudscraper as _; print(_.__path__[0])' | tail -n 1):cloudscraper" \
  15. --add-data "$(python -c 'import opencc as _; print(_.__path__[0])' | tail -n 1):opencc" \
  16. --add-data "$(python -c 'import face_recognition_models as _; print(_.__path__[0])' | tail -n 1):face_recognition_models"
  17. FROM ghcr.io/vergilgao/alpine-baseimage
  18. RUN apk --update --no-cache add \
  19. libxcb
  20. ENV TZ="Asia/Shanghai"
  21. ENV UID=99
  22. ENV GID=100
  23. ENV UMASK=002
  24. ADD /entrypoint.sh /entrypoint.sh
  25. RUN chmod +x /entrypoint.sh && \
  26. mkdir -p /app && \
  27. mkdir -p /data && \
  28. mkdir -p /config && \
  29. useradd -d /config -s /bin/sh mdc && \
  30. chown -R mdc /config && \
  31. chown -R mdc /data
  32. COPY --from=builder /tmp/mdc/dist/Movie_Data_Capture /app
  33. COPY --from=builder /tmp/mdc/config.ini /app/config.template
  34. VOLUME [ "/data", "/config" ]
  35. ENTRYPOINT ["/entrypoint.sh"]