-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDockerfile.goreleaser
30 lines (23 loc) · 1.51 KB
/
Dockerfile.goreleaser
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
FROM ubuntu:latest AS builder
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -qq -y install jq curl
ARG TARGETPLATFORM
ARG CAESIUM_GITHUB_REPO=Lymphatus/caesium-clt
RUN CAESIUM_LATEST_RELEASE=$(curl -s https://api.github.com/repos/$CAESIUM_GITHUB_REPO/releases/latest | jq -r '.tag_name') \
&& if [ "$TARGETPLATFORM" = "linux/amd64" ]; then CAESIUM_ARCH=x86_64-unknown-linux-musl; \
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then CAESIUM_ARCH=aarch64-unknown-linux-musl; \
else echo "Platform not supported by ${CAESIUM_GITHUB_REPO}"; exit 126; fi \
&& CAESIUM_ARCHIVE=caesiumclt-${CAESIUM_LATEST_RELEASE}-${CAESIUM_ARCH} \
&& curl -sS -L -O --output-dir /tmp/ --create-dirs "https://github.com/$CAESIUM_GITHUB_REPO/releases/latest/download/${CAESIUM_ARCHIVE}.tar.gz" \
&& tar xzf "/tmp/${CAESIUM_ARCHIVE}.tar.gz" -C /tmp \
&& mv "/tmp/${CAESIUM_ARCHIVE}/caesiumclt" /usr/local/bin/caesiumclt
FROM debian:sid-slim
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -qq -y install jq curl libjxl-tools libvips-tools exiftool
RUN DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -qq -y install handbrake-cli ffmpeg imagemagick
COPY --from=builder /usr/local/bin/caesiumclt /usr/local/bin/caesiumclt
COPY config/lossless /etc/immich-upload-optimizer/config
COPY config /etc/immich-upload-optimizer/bundled-configs
ENV IUO_TASKS_FILE=/etc/immich-upload-optimizer/config/tasks.yaml
COPY immich-upload-optimizer /usr/local/bin/
CMD ["immich-upload-optimizer"]