Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
memoriav
Memobase 2020
services
Cantaloupe on Docker
Commits
010b9344
Verified
Commit
010b9344
authored
Sep 28, 2021
by
Sebastian Schüpbach
Browse files
generate Dockerfile in CI process
parent
3f974506
Pipeline
#33651
failed with stages
in 2 minutes and 36 seconds
Changes
16
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitignore
0 → 100644
View file @
010b9344
target/
Dockerfile
.gitlab-ci.yml
View file @
010b9344
...
...
@@ -15,200 +15,315 @@ include:
name
:
gcr.io/kaniko-project/executor:debug
entrypoint
:
[
"
"
]
script
:
-
./generate-dockerfile $BUILD_WITH
-
mkdir -p /kaniko/.docker
-
echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
-
/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/$DOCKERFILE --destination $IMAGE_TAG
--build-arg BUILD_WITH="$BUILD_WITH"
-
/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/$DOCKERFILE --destination $IMAGE_TAG
retry
:
max
:
2
when
:
-
script_failure
build-latest
:
build-latest
-all-kakadu
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest
-all-kakadu
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
kakadu
graphicsmagick
ffmpeg"
BUILD_WITH
:
"
--
kakadu
--turbojpeg
--
ffmpeg"
only
:
-
master
build-latest-
vanilla
:
build-latest-
all-openjpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
vanilla
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
all-openjpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
"
BUILD_WITH
:
"
--openjpeg
--turbojpeg
--ffmpeg
"
only
:
-
master
build-latest-
jp2
:
build-latest-
all-grok
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
jp2
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
all-grok
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
kakadu
"
BUILD_WITH
:
"
--grok
--turbojpeg
--ffmpeg
"
only
:
-
master
build-latest-
jp2-free
:
build-latest-
kakadu-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
jp2-free
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
kakadu-ffmpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
openj
peg"
BUILD_WITH
:
"
--kakadu
--ffm
peg"
only
:
-
master
build-latest-
video
:
build-latest-
kakadu-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
video
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
kakadu-turbojpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
ffm
peg"
BUILD_WITH
:
"
--kakadu
--turboj
peg"
only
:
-
master
build-latest-
images
:
build-latest-
kakadu
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
images
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
kakadu
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
graphicsmagick
"
BUILD_WITH
:
"
--kakadu
"
only
:
-
master
build-latest-
images-jp2
:
build-latest-
openjpeg-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
images-jp2
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
openjpeg-ffmpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
graphicsmagick
kakadu
"
BUILD_WITH
:
"
--openjpeg
--ffmpeg
"
only
:
-
master
build-latest-
images-jp2-free
:
build-latest-
openjpeg-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
images-jp2-free
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
openjpeg-turbojpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
graphicsmagick
open
jpeg"
BUILD_WITH
:
"
--openjpeg
--turbo
jpeg"
only
:
-
master
build-latest-
all
:
build-latest-
openjpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
all
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
openjpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
kakadu
graphicsmagick
ffm
peg"
BUILD_WITH
:
"
--openj
peg"
only
:
-
master
build-latest-
all-free
:
build-latest-
grok-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
all-free
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-
grok-ffmpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
openjpeg
graphicsmagick
ffmpeg"
BUILD_WITH
:
"
--grok
--
ffmpeg"
only
:
-
master
build-
version
:
build-
latest-grok-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:
$CI_COMMIT_REF_NAME
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:
latest-grok-turbojpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
kakadu
graphicsmagick
ffmpeg"
BUILD_WITH
:
"
--grok
--turbojpeg"
only
:
-
master
build-latest-grok
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-grok"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--grok"
only
:
-
master
build-latest-turbojpeg-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-turbojpeg-ffmpeg"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--turbojpeg
--ffmpeg"
only
:
-
master
build-latest-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-turbojpeg"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--turbojpeg"
only
:
-
master
build-latest-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-ffmpeg"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--ffmpeg"
only
:
-
master
build-latest-no-deps
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:latest-no-deps"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
"
only
:
-
master
build-version-all-kakadu
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-all-kakadu"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--kakadu
--turbojpeg
--ffmpeg"
except
:
-
master
-
tags
build-version-
vanilla
:
build-version-
all-openjpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
vanilla
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
all-openjpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
"
BUILD_WITH
:
"
--openjpeg
--turbojpeg
--ffmpeg"
except
:
-
master
-
tags
build-version-all-grok
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-all-grok"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--grok
--turbojpeg
--ffmpeg"
except
:
-
master
-
tags
build-version-
jp2
:
build-version-
kakadu-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
jp2
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
kakadu-ffmpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
kakadu"
BUILD_WITH
:
"
--
kakadu
--ffmpeg
"
except
:
-
master
-
tags
build-version-
jp2-free
:
build-version-
kakadu-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
jp2-free
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
kakadu-turbojpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
open
jpeg"
BUILD_WITH
:
"
--kakadu
--turbo
jpeg"
except
:
-
master
-
tags
build-version-
video
:
build-version-
kakadu
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
video
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
kakadu
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
ffmpeg
"
BUILD_WITH
:
"
--kakadu
"
except
:
-
master
-
tags
build-version-
images
:
build-version-
openjpeg-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
images
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
openjpeg-ffmpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
graphicsmagick
"
BUILD_WITH
:
"
--openjpeg
--ffmpeg
"
except
:
-
master
-
tags
build-version-
images-jp2
:
build-version-
openjpeg-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
images-jp2
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
openjpeg-turbojpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
graphicsmagick
kakadu
"
BUILD_WITH
:
"
--openjpeg
--turbojpeg
"
except
:
-
master
-
tags
build-version-
images-jp2-free
:
build-version-
openjpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
images-jp2-free
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
openjpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
graphicsmagick
openjpeg"
BUILD_WITH
:
"
--
openjpeg"
except
:
-
master
-
tags
build-version-
all
:
build-version-
grok-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
all
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
grok-ffmpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
kakadu
graphicsmagick
ffmpeg"
BUILD_WITH
:
"
--grok
--
ffmpeg"
except
:
-
master
-
tags
build-version-
all-free
:
build-version-
grok-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
all-free
"
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-
grok-turbojpeg
"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
openjpeg
graphicsmagick
ffmpeg"
BUILD_WITH
:
"
--grok
--turbojpeg"
except
:
-
master
-
tags
build-version-grok
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-grok"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--grok"
except
:
-
master
-
tags
build-version-turbojpeg-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-turbojpeg-ffmpeg"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--turbojpeg
--ffmpeg"
except
:
-
master
-
tags
build-version-turbojpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-turbojpeg"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--turbojpeg"
except
:
-
master
-
tags
build-version-ffmpeg
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-ffmpeg"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
--ffmpeg"
except
:
-
master
-
tags
build-version-no-deps
:
extends
:
.build-image
variables
:
IMAGE_TAG
:
"
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-no-deps"
DOCKERFILE
:
"
Dockerfile"
BUILD_WITH
:
"
"
except
:
-
master
-
tags
Dockerfile
→
Dockerfile
.template
View file @
010b9344
FROM
debian:buster-slim AS build
# Change the VERSION envvar according to the cantaloupe version. Don't forget to change the argument in the ENTRYPOINT command below as well
ARG VERSION=5.0.4
ARG
BUILD_WITH=""
FROM debian:buster-slim AS build
WORKDIR /
RUN apt-get -qq update && \
apt-get -qq install wget unzip && \
...
...
@@ -9,32 +8,68 @@ RUN apt-get -qq update && \
RUN wget -q https://github.com/cantaloupe-project/cantaloupe/releases/download/v${VERSION}/cantaloupe-${VERSION}.zip -O temp.zip && \
unzip temp.zip && \
mv cantaloupe-${VERSION} cantaloupe && \
{%- if kakadu %}
mkdir /kakadu && \
if
[
"
$BUILD_WITH
"
!=
"
${
BUILD_WITH
%
"kakadu"
*
}
"
]
;
then
mv
cantaloupe/deps/Linux-x86-64/lib/
*
/kakadu
;
fi
&&
\
mv cantaloupe/deps/Linux-x86-64/lib/* /kakadu && \
{% endif -%}
rm -r cantaloupe/deps && \
rm cantaloupe/cantaloupe.properties.sample
ADD ./cantaloupe.properties /cantaloupe/cantaloupe.properties
FROM openjdk:16-slim-buster
# Change the version argument according to the cantaloupe version
ENTRYPOINT
["/home/cantaloupe/run.sh", "5.0.3"]
# This variable assignment is mandatory to use the value in ENTRYPOINT
ENV VERSION=${VERSION}
ENTRYPOINT ["/home/cantaloupe/run.sh", "$VERSION"]
CMD ["-Dcantaloupe.config=/home/cantaloupe/app/cantaloupe.properties"]
ARG HTTP_PORT=8182
ARG
BUILD_WITH=""
HEALTHCHECK --start-period=30s CMD curl -sf 0.0.0.0:${HTTP_PORT} -o /dev/null || exit 1
RUN useradd cantaloupe && mkdir -p /home/cantaloupe/.cache/cantaloupe && chown -R cantaloupe: /home/cantaloupe/.cache
COPY --chown=cantaloupe --from=build /cantaloupe/ /home/cantaloupe/app/
COPY
--from=build /kakadu /usr/lib/
ADD --chown=cantaloupe ./run.sh /home/cantaloupe/run.sh
ADD --chown=cantaloupe ./delegates.rb /home/cantaloupe/app/delegates.rb
RUN
apt-get
-qq
update
&&
\
apt-get
-qq
install
curl fontconfig libfreetype6
&&
\
if
[
"
$BUILD_WITH
"
!=
"
${
BUILD_WITH
%
"ffmpeg"
*
}
"
]
;
then
apt-get
-qq
install
--no-install-recommends
ffmpeg
;
fi
&&
\
if
[
"
$BUILD_WITH
"
!=
"
${
BUILD_WITH
%
"graphicsmagick"
*
}
"
]
;
then
apt-get
-qq
install
--no-install-recommends
graphicsmagick
;
fi
&&
\
if
[
"
$BUILD_WITH
"
!=
"
${
BUILD_WITH
%
"imagemagick"
*
}
"
]
;
then
apt-get
-qq
install
--no-install-recommends
imagemagick
;
fi
&&
\
if
[
"
$BUILD_WITH
"
!=
"
${
BUILD_WITH
%
"openjpeg"
*
}
"
]
;
then
apt-get
-qq
install
libopenjp2-tools
;
fi
&&
\
apt-get clean
&&
\
rm
-rf
/var/lib/apt/lists/
*
{%- if kakadu %}
COPY --from=build /kakadu /usr/lib/
{% endif -%}
{%- if ffmpeg or turbojpeg or openjpeg or grok %}
RUN apt-get -qq update
{% endif -%}
{%- if ffmpeg %}
RUN apt-get -qq install --no-install-recommends ffmpeg
{% endif -%}
{%- if turbojpeg %}
RUN mkdir -p /opt/libjpeg-turbo/lib
COPY libs /opt/libjpeg-turbo/lib
{% endif -%}
{%- if openjpeg %}
RUN apt-get -qq install --no-install-recommends libopenjp2-tools
{% endif -%}
{%- if grok %}
RUN apt-get -qq install wget \
liblcms2-dev \
libpng-dev \
libzstd-dev \
libtiff-dev \
libjpeg-dev \
zlib1g-dev \
libwebp-dev \
libimage-exiftool-perl
RUN wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/libgrokj2k1_7.6.5-1_amd64.deb \
&& wget -q https://github.com/GrokImageCompression/grok/releases/download/v7.6.5/grokj2k-tools_7.6.5-1_amd64.deb \
&& dpkg -i ./libgrokj2k1_7.6.5-1_amd64.deb \
&& dpkg -i --ignore-depends=libjpeg62-turbo ./grokj2k-tools_7.6.5-1_amd64.deb \
# Install OpenJDK
&& wget -q https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16.0.1%2B9/OpenJDK16U-jdk_x64_linux_hotspot_16.0.1_9.tar.gz \
&& tar xfz OpenJDK16U-jdk_x64_linux_hotspot_16.0.1_9.tar.gz \
&& mv jdk-16.0.1+9 /opt/jdk \
# Install Maven (the one in apt is too old for JDK16 as of 2020-05-14)
&& wget -q https://mirrors.ocf.berkeley.edu/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz \
&& tar xfz apache-maven-3.8.1-bin.tar.gz \
&& mv apache-maven-3.8.1 /opt/maven \
&& rm apache-maven-3.8.1-bin.tar.gz
{% endif -%}
{%- if ffmpeg or turbojpeg or openjpeg or grok %}
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
{% endif -%}
USER cantaloupe
WORKDIR /home/cantaloupe
VOLUME ["/home/cantaloupe/images"]
README.md
View file @
010b9344
...
...
@@ -39,26 +39,32 @@ Duly updated, the branches use the latest minor versions of the respective
major version of Cantaloupe:
-
`4.x`
->
`4.1.9`
-
`5.x.`
->
`5.0.
3
`
-
`5.x.`
->
`5.0.
4
`
### Processor versions
Available processors are
`ffmpeg`
(for video),
`kakadu`
and
`openjpeg`
for JPEG2000 (the former proprietary, the latter free software) and
`graphicsmagick`
. If you need another combination or replace
`graphicsmagick`
with
`imagemagick`
see below.
Readily available flavors:
-
`<version>-all`
:
`ffmpeg`
,
`kakadu`
,
`graphicsmagick`
-
`<version>-all-free`
:
`ffmpeg`
,
`kakadu`
,
`graphicsmagick`
-
`<version>-images`
:
`graphicsmagick`
-
`<version>-images-jp2`
:
`kakadu`
,
`graphicsmagick`
-
`<version>-images-jp2-free`
:
`openjpeg`
,
`graphicsmagick`
-
`<version>-jp2`
:
`kakadu`
-
`<version>-jp2-free`
:
`openjpeg`
-
`<version>-vanilla`
: no additional processors
-
`<version>-video`
:
`ffmpeg`
Available processors are
`ffmpeg`
(for video),
`kakadu`
,
`grok`
and
`openjpeg`
for JPEG2000 (the former proprietary, the latters free software) and
`turbojpeg`
. Readily available flavors:
| name | ffmpeg | turbojpeg | grok | kakadu | openjpeg |
| --- | :---: | :---: | :---: | :---: | :---: |
|
`<version>-all-kakadu`
|
✓
|
✓
|
×
|
✓
|
×
|
|
`<version>-all-openjpeg`
|
✓
|
✓
|
×
|
×
|
✓
|
|
`<version>-all-grok`
|
✓
|
✓
|
✓
|
×
|
×
|
|
`<version>-kakadu-ffmpeg`
|
✓
|
×
|
×
|
✓
|
×
|
|
`<version>-kakadu-turbojpeg`
|
×
|
✓
|
×
|
✓
|
×
|
|
`<version>-kakadu`
|
×
|
×
|
×
|
✓
|
×
|
|
`<version>-openjpeg-ffmpeg`
|
✓
|
×
|
×
|
×
|
✓
|
|
`<version>-openjpeg-turbojpeg`
|
×
|
✓
|
×
|
×
|
✓
|
|
`<version>-openjpeg`
|
×
|
×
|
×
|
×
|
✓
|
|
`<version>-grok-ffmpeg`
|
✓
|
×
|
✓
|
×
|
×
|
|
`<version>-grok-turbojpeg`
|
×
|
✓
|
✓
|
×
|
×
|
|
`<version>-grok`
|
×
|
×
|
✓
|
×
|
×
|
|
`<version>-turbojpeg-ffmpeg`
|
✓
|
✓
|
×
|
×
|
×
|
|
`<version>-turbojpeg`
|
×
|
✓
|
×
|
×
|
×
|
|
`<version>-ffmpeg`
|
✓
|
×
|
×
|
×
|
×
|
|
`<version>-no-deps`
|
×
|
×
|
×
|
×
|
×
|
## Configuration
...
...
@@ -77,26 +83,6 @@ Notice that some changes can affect the overall working of the container
uppercase letters, `
.
` being replaced by `
_` (e.g. `https.key_
store_path
` ->
`
HTTPS_KEY_STORE_PATH
`).
### Reconfigure Processor support
Cantaloupe supports different backends for processing media resources.
To keep the image small, none of these processors is enabled in the image per
default. However you can build the image with the required processor backends
by providing one or several keys in the build arg `
BUILD_WITH
` (example
see below):
- [`
ffmpeg
`](https://ffmpeg.org/): Used for video processing
- [`
graphicsmagick
`](http://www.graphicsmagick.org/): Used for general
image processing
- [`
imagemagick
`](https://www.imagemagick.org/): More or less like GraphicsMagick
- [`
kakadu
`](https://kakadusoftware.com/): Fast processor for JPEG2000,
proprietary
- [`
openjpeg
`](http://www.openjpeg.org/): Like kakadu, but open source software
```sh
docker run --name cantaloupe --rm -d -p8182:8182 -v<path_to_host_image_folder>:/home/cantaloupe/images -e BUILD_WITH="ffmpeg imagemagick" cantaloupe:<tag>
```
### Use with Redis
Cantaloupe supports [Redis](https://redis.io) as an external key-value store for caching.
...
...
generate-dockerfile
0 → 100755
View file @
010b9344
File added
generate-dockerfile-src/Cargo.lock
0 → 100644
View file @
010b9344
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [
"memchr",
]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "block-buffer"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
dependencies = [
"block-padding",
"byte-tools",
"byteorder",
"generic-array",
]
[[package]]
name = "block-padding"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
dependencies = [
"byte-tools",
]
[[package]]
name = "bstr"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
dependencies = [
"memchr",
]
[[package]]
name = "byte-tools"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
[[package]]
name = "byteorder"
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "crossbeam-utils"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
dependencies = [
"cfg-if",
"lazy_static",
]