Dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. ARG BASE_IMAGE_VERSION="v3.9.1"
  2. FROM darthsim/imgproxy-base:${BASE_IMAGE_VERSION}
  3. ARG TARGETARCH
  4. ARG BUILDARCH
  5. COPY . .
  6. RUN docker/build.sh
  7. # ==================================================================================================
  8. # Final image
  9. FROM ubuntu:mantic
  10. LABEL maintainer="Sergey Alexandrovich <darthsim@gmail.com>"
  11. RUN apt-get update \
  12. && apt-get upgrade -y \
  13. && apt-get install -y --no-install-recommends \
  14. bash \
  15. ca-certificates \
  16. libstdc++6 \
  17. liblzma5 \
  18. libzstd1 \
  19. fontconfig-config \
  20. fonts-dejavu-core \
  21. media-types \
  22. libjemalloc2 \
  23. libtcmalloc-minimal4 \
  24. && ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so \
  25. && ln -s /usr/lib/$(uname -m)-linux-gnu/libtcmalloc_minimal.so.4 /usr/local/lib/libtcmalloc_minimal.so \
  26. && rm -rf /var/lib/apt/lists/*
  27. COPY --from=0 /usr/local/bin/imgproxy /usr/local/bin/
  28. COPY --from=0 /usr/local/lib /usr/local/lib
  29. COPY docker/entrypoint.sh /usr/local/bin/
  30. # AWS Lambda adapter
  31. COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:0.8.3 /lambda-adapter /opt/extensions/lambda-adapter
  32. COPY NOTICE /usr/local/share/doc/imgproxy/
  33. ENV VIPS_WARNING=0
  34. ENV MALLOC_ARENA_MAX=2
  35. ENV LD_LIBRARY_PATH /usr/local/lib
  36. ENV IMGPROXY_MALLOC malloc
  37. ENV AWS_LWA_READINESS_CHECK_PATH /health
  38. ENV AWS_LWA_INVOKE_MODE response_stream
  39. # Disable SVE on ARM64. SVE is slower than NEON on Amazon Graviton 3
  40. ENV VIPS_VECTOR=167772160
  41. RUN groupadd -r imgproxy \
  42. && useradd -r -u 999 -g imgproxy imgproxy \
  43. && mkdir -p /var/cache/fontconfig \
  44. && chmod 777 /var/cache/fontconfig
  45. USER 999
  46. ENTRYPOINT [ "entrypoint.sh" ]
  47. CMD ["imgproxy"]
  48. EXPOSE 8080