diff --git a/.github/workflows/imaginary-update.yml b/.github/workflows/imaginary-update.yml new file mode 100644 index 00000000..12bd9e86 --- /dev/null +++ b/.github/workflows/imaginary-update.yml @@ -0,0 +1,33 @@ +name: imaginary-update + +on: + workflow_dispatch: + schedule: + - cron: '00 12 * * *' + +jobs: + run_update: + name: update to latest imaginary commit on master branch + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Run imaginary-update + run: | + # Imaginary + imaginary_version="$( + git ls-remote https://github.com/h2non/imaginary master \ + | cut -f1 \ + | tail -1 + )" + sed -i "s|go install github.com/h2non/imaginary.*|go install github.com/h2non/imaginary@$imaginary_version|" ./Containers/imaginary/Dockerfile + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + commit-message: imaginary-update automated change + signoff: true + title: Imaginary update + body: Automated Imaginary container update + labels: dependencies, enhancement + milestone: next + branch: imaginary-container-update diff --git a/Containers/imaginary/Dockerfile b/Containers/imaginary/Dockerfile index 82ca2dc1..4d9558d4 100644 --- a/Containers/imaginary/Dockerfile +++ b/Containers/imaginary/Dockerfile @@ -1,29 +1,21 @@ -# From https://github.com/h2non/imaginary/blob/master/Dockerfile -FROM nextcloud/imaginary:20230301 +FROM golang:1.20.3-alpine3.17 as go +RUN apk add --no-cache \ + vips-dev \ + build-base; \ + go install github.com/h2non/imaginary@b632dae -USER root -RUN set -ex; \ - \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - netcat \ - ; \ - echo "deb http://deb.debian.org/debian bookworm main" > /etc/apt/sources.list.d/bookworm.list; \ - apt-get update; \ - apt-get install -t bookworm -y --no-install-recommends \ - libheif1 \ - libde265-0 \ - libx265-199 \ - libvips \ - ; \ - rm /etc/apt/sources.list.d/bookworm.list; \ - rm -rf /var/lib/apt/lists/* -USER nobody +FROM alpine:3.17.3 +RUN apk add --no-cache \ + tzdata \ + ca-certificates \ + netcat-openbsd \ + vips-dev -ENTRYPOINT ["/usr/local/bin/imaginary", "-return-size", "-max-allowed-resolution", "222.2"] - -HEALTHCHECK CMD nc -z localhost 9000 || exit 1 -LABEL com.centurylinklabs.watchtower.monitor-only="true" +COPY --from=go /go/bin/imaginary /usr/local/bin/imaginary # https://github.com/h2non/imaginary#memory-issues ENV MALLOC_ARENA_MAX=2 +ENTRYPOINT ["imaginary", "-p", "9000", "-return-size", "-max-allowed-resolution", "222.2"] + +HEALTHCHECK CMD nc -z localhost 9000 || exit 1 +LABEL com.centurylinklabs.watchtower.monitor-only="true"