2024-02-16 16:21:18 +01:00
|
|
|
# syntax=docker/dockerfile:latest
|
2024-06-21 13:16:55 +02:00
|
|
|
FROM golang:1.22.3-alpine3.20 AS go
|
2023-06-06 13:43:06 +02:00
|
|
|
|
2024-06-21 12:04:51 +00:00
|
|
|
ENV IMAGINARY_HASH=6cd9edd1d3fb151eb773c14552886e4fc8e50138
|
2023-06-06 13:43:06 +02:00
|
|
|
|
2023-04-15 12:56:14 +02:00
|
|
|
RUN set -ex; \
|
|
|
|
|
apk add --no-cache \
|
2023-04-06 15:05:59 +02:00
|
|
|
vips-dev \
|
2023-04-15 16:47:16 +02:00
|
|
|
vips-magick \
|
|
|
|
|
vips-heif \
|
2023-04-15 16:48:49 +02:00
|
|
|
vips-jxl \
|
2023-04-15 17:00:21 +02:00
|
|
|
vips-poppler \
|
2023-04-06 15:05:59 +02:00
|
|
|
build-base; \
|
2023-06-06 13:43:06 +02:00
|
|
|
go install github.com/h2non/imaginary@"$IMAGINARY_HASH";
|
2022-08-25 15:06:23 +02:00
|
|
|
|
2024-06-21 11:54:48 +02:00
|
|
|
FROM alpine:3.20.1
|
2023-04-15 12:56:14 +02:00
|
|
|
RUN set -ex; \
|
2024-04-17 17:52:42 +02:00
|
|
|
apk upgrade --no-cache -a; \
|
2023-04-15 12:56:14 +02:00
|
|
|
apk add --no-cache \
|
2023-04-06 15:05:59 +02:00
|
|
|
tzdata \
|
|
|
|
|
ca-certificates \
|
|
|
|
|
netcat-openbsd \
|
2023-04-15 16:47:16 +02:00
|
|
|
vips \
|
|
|
|
|
vips-magick \
|
|
|
|
|
vips-heif \
|
2023-04-15 17:00:21 +02:00
|
|
|
vips-jxl \
|
2024-03-04 11:48:21 +01:00
|
|
|
vips-poppler \
|
|
|
|
|
bash
|
2022-08-25 15:06:23 +02:00
|
|
|
|
2023-04-06 15:05:59 +02:00
|
|
|
COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary
|
2024-03-04 11:48:21 +01:00
|
|
|
COPY --chmod=775 start.sh /start.sh
|
2023-03-08 11:08:03 +01:00
|
|
|
|
2024-06-21 13:27:36 +02:00
|
|
|
ENV PORT=9000
|
2023-05-11 11:24:40 +02:00
|
|
|
|
2023-04-15 16:35:05 +02:00
|
|
|
USER nobody
|
|
|
|
|
|
2023-03-08 11:08:03 +01:00
|
|
|
# https://github.com/h2non/imaginary#memory-issues
|
|
|
|
|
ENV MALLOC_ARENA_MAX=2
|
2024-03-04 11:48:21 +01:00
|
|
|
ENTRYPOINT ["/start.sh"]
|
2023-04-06 15:05:59 +02:00
|
|
|
|
2024-05-28 17:24:28 +02:00
|
|
|
HEALTHCHECK CMD nc -z 127.0.0.1 "$PORT" || exit 1
|
2023-06-26 00:56:08 +02:00
|
|
|
LABEL com.centurylinklabs.watchtower.enable="false"
|