2024-02-16 23:21:18 +08:00
|
|
|
# syntax=docker/dockerfile:latest
|
2024-02-20 21:07:59 +08:00
|
|
|
FROM golang:1.22.0-alpine3.18 as go
|
2023-06-06 19:43:06 +08:00
|
|
|
|
2024-02-21 20:02:15 +08:00
|
|
|
ENV IMAGINARY_HASH 6cd9edd1d3fb151eb773c14552886e4fc8e50138
|
2023-06-06 19:43:06 +08:00
|
|
|
|
2023-04-15 18:56:14 +08:00
|
|
|
RUN set -ex; \
|
|
|
|
apk add --no-cache \
|
2023-04-06 21:05:59 +08:00
|
|
|
vips-dev \
|
2023-04-15 22:47:16 +08:00
|
|
|
vips-magick \
|
|
|
|
vips-heif \
|
2023-04-15 22:48:49 +08:00
|
|
|
vips-jxl \
|
2023-04-15 23:00:21 +08:00
|
|
|
vips-poppler \
|
2023-04-06 21:05:59 +08:00
|
|
|
build-base; \
|
2023-06-06 19:43:06 +08:00
|
|
|
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
|
2022-08-25 21:06:23 +08:00
|
|
|
|
2024-02-20 21:07:59 +08:00
|
|
|
FROM alpine:3.18.6
|
2023-04-15 18:56:14 +08:00
|
|
|
RUN set -ex; \
|
|
|
|
apk add --no-cache \
|
2023-04-06 21:05:59 +08:00
|
|
|
tzdata \
|
|
|
|
ca-certificates \
|
|
|
|
netcat-openbsd \
|
2023-04-15 22:47:16 +08:00
|
|
|
vips \
|
|
|
|
vips-magick \
|
|
|
|
vips-heif \
|
2023-04-15 23:00:21 +08:00
|
|
|
vips-jxl \
|
|
|
|
vips-poppler
|
2022-08-25 21:06:23 +08:00
|
|
|
|
2023-04-06 21:05:59 +08:00
|
|
|
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
|
2023-03-08 18:08:03 +08:00
|
|
|
|
2023-05-11 17:24:40 +08:00
|
|
|
ENV PORT 9000
|
|
|
|
|
2023-04-15 22:35:05 +08:00
|
|
|
USER nobody
|
|
|
|
|
2023-03-08 18:08:03 +08:00
|
|
|
# https://github.com/h2non/imaginary#memory-issues
|
|
|
|
ENV MALLOC_ARENA_MAX=2
|
2023-05-11 17:24:40 +08:00
|
|
|
ENTRYPOINT ["imaginary", "-return-size", "-max-allowed-resolution", "222.2"]
|
2023-04-06 21:05:59 +08:00
|
|
|
|
2023-05-11 20:48:51 +08:00
|
|
|
HEALTHCHECK CMD nc -z localhost "$PORT" || exit 1
|
2023-06-26 06:56:08 +08:00
|
|
|
LABEL com.centurylinklabs.watchtower.enable="false"
|