├── 7 └── Dockerfile ├── 8 └── Dockerfile ├── 9 └── Dockerfile ├── 10-beta └── Dockerfile ├── Makefile └── README.md /10-beta/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG ILIAS_BASE_IMAGE 2 | 3 | FROM srsolutions/ilias-base:${ILIAS_BASE_IMAGE} 4 | 5 | ARG TARGETARCH 6 | ARG NODE_VERSION=22.12.0 7 | 8 | RUN case ${TARGETARCH} in amd64) NODE_ARCH=x64 ;; arm64) NODE_ARCH=arm64 ;; *) exit 1 ;; esac \ 9 | && curl -o /tmp/node.tar.xz -SL https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz \ 10 | && tar -xJf /tmp/node.tar.xz -C /opt --one-top-level --strip-components=1 --no-same-owner \ 11 | && rm /tmp/node.tar.xz \ 12 | && ln -s /opt/node/bin/node /usr/local/bin/node \ 13 | && ln -s /opt/node/bin/npm /usr/local/bin/npm 14 | 15 | ENV ILIAS_VERSION=10.0_beta3 16 | ENV ILIAS_MD5=964b8ba83765dd3cd945d9d8598c21a3 17 | 18 | # TODO: Revert to release archives once available 19 | RUN curl -o ilias.tar.gz -SL https://github.com/ILIAS-eLearning/ILIAS/archive/v${ILIAS_VERSION}.tar.gz \ 20 | && echo "$ILIAS_MD5 *ilias.tar.gz" | md5sum -c - \ 21 | && tar -xzf ilias.tar.gz --strip-components=1 --no-same-owner \ 22 | && npm clean-install --omit=dev --ignore-scripts \ 23 | && composer install --no-dev -q \ 24 | && rm ilias.tar.gz 25 | -------------------------------------------------------------------------------- /7/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG ILIAS_BASE_IMAGE 2 | 3 | FROM srsolutions/ilias-base:${ILIAS_BASE_IMAGE} 4 | 5 | ENV ILIAS_VERSION=7.30 6 | ENV ILIAS_MD5=9d24ec96a9f59a85cc4620a95aa2dbb6 7 | 8 | RUN curl -o ilias.tar.gz -SL https://github.com/ILIAS-eLearning/ILIAS/releases/download/v${ILIAS_VERSION}/ILIAS-${ILIAS_VERSION}.tar.gz \ 9 | && echo "$ILIAS_MD5 *ilias.tar.gz" | md5sum -c - \ 10 | && tar -xzf ilias.tar.gz --strip-components=1 --no-same-owner \ 11 | && rm ilias.tar.gz 12 | -------------------------------------------------------------------------------- /8/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG ILIAS_BASE_IMAGE 2 | 3 | FROM srsolutions/ilias-base:${ILIAS_BASE_IMAGE} 4 | 5 | ENV ILIAS_VERSION=8.19 6 | ENV ILIAS_MD5=a789400fd5861b98734d6c2aa04ef8e8 7 | 8 | RUN curl -o ilias.tar.gz -SL https://github.com/ILIAS-eLearning/ILIAS/releases/download/v${ILIAS_VERSION}/ILIAS-${ILIAS_VERSION}.tar.gz \ 9 | && echo "$ILIAS_MD5 *ilias.tar.gz" | md5sum -c - \ 10 | && tar -xzf ilias.tar.gz --strip-components=1 --no-same-owner \ 11 | && rm ilias.tar.gz 12 | -------------------------------------------------------------------------------- /9/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG ILIAS_BASE_IMAGE 2 | 3 | FROM srsolutions/ilias-base:${ILIAS_BASE_IMAGE} 4 | 5 | ENV ILIAS_VERSION=9.9 6 | ENV ILIAS_MD5=8c20663a26e1bebb9c009cd00c7a6b47 7 | 8 | RUN curl -o ilias.tar.gz -SL https://github.com/ILIAS-eLearning/ILIAS/releases/download/v${ILIAS_VERSION}/ILIAS-${ILIAS_VERSION}.tar.gz \ 9 | && echo "$ILIAS_MD5 *ilias.tar.gz" | md5sum -c - \ 10 | && tar -xzf ilias.tar.gz --strip-components=1 --no-same-owner \ 11 | && rm ilias.tar.gz 12 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | IMAGE_NAME ?= srsolutions/ilias 2 | 3 | PLATFORM ?= linux/amd64,linux/arm64 4 | OUTPUT ?= type=image,push=true 5 | CACHE_FROM ?= type=registry,ref=registry.sr.solutions/intern/docker-ilias:build-cache 6 | CACHE_TO ?= type=registry,ref=registry.sr.solutions/intern/docker-ilias:build-cache 7 | 8 | IMAGES = \ 9 | 7/php7.3-apache \ 10 | 7/php7.4-apache \ 11 | 8/php7.4-apache \ 12 | 8/php8.0-apache \ 13 | 9/php8.1-apache \ 14 | 9/php8.2-apache \ 15 | 10-beta/php8.2-apache \ 16 | 10-beta/php8.3-apache 17 | 18 | LATEST = 9/php8.2-apache 19 | 20 | variant = $$(basename $1) 21 | branch = $$(basename $$(dirname $1)) 22 | tag = $$(echo $1 | sed 's|/|-|') 23 | version = $$(grep "ENV ILIAS_VERSION" $1/Dockerfile | awk -F "=" '{print $$2}') 24 | 25 | .ONESHELL: 26 | .SILENT: 27 | 28 | all: $(IMAGES) tag 29 | 30 | .PHONY: $(IMAGES) 31 | $(IMAGES): 32 | variant=$(call variant,$@) 33 | branch=$(call branch,$@) 34 | version=$(call version,$$branch) 35 | echo "Building $(IMAGE_NAME):$$branch-$$variant (version $$version)" 36 | docker buildx build --platform $(PLATFORM) --pull \ 37 | -f $$branch/Dockerfile \ 38 | --build-arg ILIAS_BASE_IMAGE=$$branch-$$variant \ 39 | -t $(IMAGE_NAME):$$branch-$$variant \ 40 | -t $(IMAGE_NAME):$$version-$$variant \ 41 | --cache-from $(CACHE_FROM) \ 42 | --cache-to $(CACHE_TO) \ 43 | --output $(OUTPUT) \ 44 | . 45 | 46 | .PHONY: tag 47 | tag: 48 | tag () { 49 | case "${OUTPUT}" in 50 | *push=false*) 51 | docker tag $$1 $$2 52 | ;; 53 | *push=true*) 54 | docker buildx imagetools create $$1 --tag $$2 55 | ;; 56 | esac 57 | } 58 | for i in $(IMAGES); do \ 59 | variant=$(call variant,$$i); 60 | branch=$(call branch,$$i); 61 | tag=$(call tag,$$i); 62 | echo "Tagging $(IMAGE_NAME):$$tag as $(IMAGE_NAME):$$branch"; \ 63 | tag $(IMAGE_NAME):$$tag $(IMAGE_NAME):$$branch; \ 64 | done 65 | latest=$(IMAGE_NAME):$(call tag,$(LATEST)) 66 | echo "Tagging $$latest as latest" 67 | tag $$latest $(IMAGE_NAME):latest 68 | 69 | local: PLATFORM=local 70 | local: export BUILDX_BUILDER=default 71 | local: OUTPUT=type=image,push=false 72 | local: all 73 | 74 | .PHONY: pull 75 | pull: 76 | for i in $(IMAGES); do \ 77 | variant=$(call variant,$$i); 78 | branch=$(call branch,$$i); 79 | tag=$(call tag,$$i); 80 | version=$(call version,$$branch); \ 81 | echo "Pulling $(IMAGE_NAME):$$tag"; \ 82 | docker pull $(IMAGE_NAME):$$tag; \ 83 | echo "Pulling $(IMAGE_NAME):$$branch"; \ 84 | docker pull $(IMAGE_NAME):$$branch; \ 85 | echo "Pulling $(IMAGE_NAME):$$version-$$variant"; \ 86 | docker pull $(IMAGE_NAME):$$version-$$variant; \ 87 | done 88 | echo "Pulling $(IMAGE_NAME):latest" 89 | docker pull $(IMAGE_NAME):latest 90 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # About this Repo 2 | 3 | This is the repository of the sr solutions ag Docker image for 4 | [ILIAS](https://www.ilias.de). See [the Docker Hub 5 | page](https://hub.docker.com/r/srsolutions/ilias/) for information on how to use 6 | this Docker image. 7 | --------------------------------------------------------------------------------