Compare commits

...

18 Commits

Author SHA1 Message Date
Markus Opolka
ab67bbc8c6 Upgrading to Version 6.1.2+230606 2023-06-13 12:23:46 +02:00
Markus Opolka
9ea27fd9fe Upgrading to LTS Version 5.6.25+230605 2023-06-13 12:23:18 +02:00
Markus Opolka
4be9f37601 Upgrading to Version 6.1.1+230530 2023-06-09 13:35:14 +02:00
Markus Opolka
45f5178e3b Upgrading to LTS Version 5.6.24+230531 2023-06-09 13:34:41 +02:00
Markus Opolka
f772b7a05f Upgrading to Version 3.28.59+230517 2023-06-09 13:34:16 +02:00
Markus Opolka
5c8cd4570a Update structure tests 2023-06-09 13:27:50 +02:00
Markus Opolka
66f433e1d0 Fix linting issues 2023-06-09 13:18:56 +02:00
J0WI
52ee67675a Drop build dependencies from Debian variant (#153) 2023-06-09 13:14:20 +02:00
Markus Opolka
6d3bc51ebc Fix linting issues in alpine Dockerfiles 2023-06-09 12:19:04 +02:00
J0WI
0c28e5bbf9 Drop build dependencies from Alpine variant (#152) 2023-06-09 12:03:35 +02:00
Markus Opolka
23e6fa6f88 Upgrading to Version 6.0.7+230515 2023-05-24 08:45:36 +02:00
Markus Opolka
4e30695b0b Upgrading to LTS Version 5.6.21+230518 2023-05-24 08:44:50 +02:00
Markus Opolka
f290fc7f1c Upgrading to Version 6.0.6+230508 2023-05-19 09:03:27 +02:00
Markus Opolka
20c1fafdf6 Upgrading to LTS Version 5.6.20+230516 2023-05-19 09:03:02 +02:00
Markus Opolka
281cc199aa Upgrading to Version 6.0.5+230502 2023-05-09 08:36:05 +02:00
Markus Opolka
d15b0a2693 Upgrading to LTS Version 5.6.18+230503 2023-05-09 08:35:37 +02:00
Markus Opolka
164767fe97 Upgrading to Version 6.0.4+230427 2023-05-03 20:17:42 +02:00
Markus Opolka
0478c67f4a Upgrading to LTS Version 5.6.17+230426 2023-05-03 20:17:05 +02:00
10 changed files with 430 additions and 299 deletions

View File

@@ -3,48 +3,68 @@ LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update && \ apt-get update; \
DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \
apt-get install --no-install-recommends -y \ netcat \
; \
\ \
libldap2-dev \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
libfreetype6-dev \
libjpeg-dev \
libonig-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Link LDAP library for PHP ldap extension
RUN set -ex; \
ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ savedAptMark="$(apt-mark showmanual)"; \
docker-php-ext-install -j5 \ \
exif \ apt-get update; \
gd \ apt-get install -y --no-install-recommends \
imap \ libldap2-dev \
ldap \ libfreetype6-dev \
mbstring \ libjpeg-dev \
pdo \ libonig-dev \
pdo_mysql \ zlib1g-dev \
pdo_pgsql \ libc-client-dev \
pgsql \ libkrb5-dev \
sodium \ libpng-dev \
tidy \ libpq-dev \
zip libzip-dev \
libtidy-dev \
libsodium-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip \
; \
\
# Reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
# Apache configuration # Apache configuration
RUN a2enmod headers rewrite remoteip; \ RUN a2enmod headers rewrite remoteip; \
@@ -59,14 +79,14 @@ RUN a2enmod headers rewrite remoteip; \
# Use the default production configuration # Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
ARG version="3.28.56+230404" ARG version="3.28.59+230517"
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228" ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=root ARG USER=root
ARG LISTEN_PORT=80 ARG LISTEN_PORT=80
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository) # Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
RUN set -ex; \ RUN set -ex; \
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \ curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \ echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \

View File

@@ -2,6 +2,10 @@ FROM docker.io/php:8.0-fpm-alpine
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN apk add --no-cache netcat-openbsd bash
# Install PHP Plugins
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .build-deps \ apk add --no-cache --virtual .build-deps \
freetype-dev \ freetype-dev \
@@ -13,14 +17,13 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
oniguruma-dev \ oniguruma-dev \
imap-dev \ imap-dev \
postgresql-dev && \ postgresql-dev \
apk add --no-cache netcat-openbsd bash ; \
\
# Install PHP Plugins docker-php-ext-configure gd --with-freetype --with-jpeg; \
RUN set -ex; \ docker-php-ext-configure imap --with-imap-ssl; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ docker-php-ext-install -j "$(nproc)" \
docker-php-ext-configure imap --with-imap-ssl && \ exif \
docker-php-ext-install \
gd \ gd \
imap \ imap \
ldap \ ldap \
@@ -31,14 +34,24 @@ RUN set -ex; \
pgsql \ pgsql \
sodium \ sodium \
tidy \ tidy \
zip zip \
; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \
apk del --no-cache --no-network .build-deps
ARG version="3.28.56+230404" ARG version="3.28.59+230517"
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228" ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository) # Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
RUN set -ex; \ RUN set -ex; \
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \ curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \ echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \

View File

@@ -3,55 +3,75 @@ LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update && \ apt-get update; \
DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \
apt-get install --no-install-recommends -y \ netcat \
; \
\ \
libldap2-dev \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
libfreetype6-dev \
libjpeg-dev \
libonig-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Link LDAP library for PHP ldap extension
RUN set -ex; \
ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ savedAptMark="$(apt-mark showmanual)"; \
docker-php-ext-install -j5 \ \
exif \ apt-get update; \
gd \ apt-get install -y --no-install-recommends \
imap \ libldap2-dev \
ldap \ libfreetype6-dev \
mbstring \ libjpeg-dev \
pdo \ libonig-dev \
pdo_mysql \ zlib1g-dev \
pdo_pgsql \ libc-client-dev \
pgsql \ libkrb5-dev \
sodium \ libpng-dev \
tidy \ libpq-dev \
zip libzip-dev \
libtidy-dev \
libsodium-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip \
; \
\
# Reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
ARG version="3.28.56+230404" ARG version="3.28.59+230517"
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228" ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository) # Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
RUN set -ex; \ RUN set -ex; \
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \ curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \ echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \

View File

@@ -3,49 +3,68 @@ LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update && \ apt-get update; \
DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \
apt-get install --no-install-recommends -y \ netcat \
; \
\ \
libldap2-dev \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
libfreetype6-dev \
libjpeg-dev \
libonig-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
curl \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Link LDAP library for PHP ldap extension
RUN set -ex; \
ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ savedAptMark="$(apt-mark showmanual)"; \
docker-php-ext-install -j5 \ \
exif \ apt-get update; \
gd \ apt-get install -y --no-install-recommends \
imap \ libldap2-dev \
ldap \ libfreetype6-dev \
mbstring \ libjpeg-dev \
pdo \ libonig-dev \
pdo_mysql \ zlib1g-dev \
pdo_pgsql \ libc-client-dev \
pgsql \ libkrb5-dev \
sodium \ libpng-dev \
tidy \ libpq-dev \
zip libzip-dev \
libtidy-dev \
libsodium-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip \
; \
\
# Reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
# Apache configuration # Apache configuration
RUN a2enmod headers rewrite remoteip; \ RUN a2enmod headers rewrite remoteip; \
@@ -60,14 +79,14 @@ RUN a2enmod headers rewrite remoteip; \
# Use the default production configuration # Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
ARG version="5.6.16+230418" ARG version="5.6.25+230605"
ARG sha256_checksum="5479445b16beb0321ae91ddd72716bd5f52e45a91cc7dec415d16f28552947c9" ARG sha256_checksum="283d17ce1b230c584a2b86813d181df2d471e977e74d33da8bb7eb9adcdbd228"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=www-data ARG USER=www-data
ARG LISTEN_PORT=8080 ARG LISTEN_PORT=8080
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository) # Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
RUN set -ex; \ RUN set -ex; \
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \ curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \ echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \

View File

@@ -2,6 +2,10 @@ FROM docker.io/php:8.0-fpm-alpine
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN apk add --no-cache netcat-openbsd bash
# Install PHP Plugins
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .build-deps \ apk add --no-cache --virtual .build-deps \
freetype-dev \ freetype-dev \
@@ -13,14 +17,12 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
oniguruma-dev \ oniguruma-dev \
imap-dev \ imap-dev \
postgresql-dev && \ postgresql-dev \
apk add --no-cache netcat-openbsd bash ; \
\
# Install PHP Plugins docker-php-ext-configure gd --with-freetype --with-jpeg; \
RUN set -ex; \ docker-php-ext-configure imap --with-imap-ssl; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ docker-php-ext-install -j "$(nproc)" \
docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \
exif \ exif \
gd \ gd \
imap \ imap \
@@ -32,15 +34,25 @@ RUN set -ex; \
pgsql \ pgsql \
sodium \ sodium \
tidy \ tidy \
zip zip \
; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \
apk del --no-cache --no-network .build-deps
ARG version="5.6.16+230418" ARG version="5.6.25+230605"
ARG sha256_checksum="5479445b16beb0321ae91ddd72716bd5f52e45a91cc7dec415d16f28552947c9" ARG sha256_checksum="283d17ce1b230c584a2b86813d181df2d471e977e74d33da8bb7eb9adcdbd228"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=www-data ARG USER=www-data
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository) # Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
RUN set -ex; \ RUN set -ex; \
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \ curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \ echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \

View File

@@ -3,56 +3,76 @@ LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update && \ apt-get update; \
DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \
apt-get install --no-install-recommends -y \ netcat \
; \
\ \
libldap2-dev \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
libfreetype6-dev \
libjpeg-dev \
libonig-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Link LDAP library for PHP ldap extension
RUN set -ex; \
ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ savedAptMark="$(apt-mark showmanual)"; \
docker-php-ext-install -j5 \ \
exif \ apt-get update; \
gd \ apt-get install -y --no-install-recommends \
imap \ libldap2-dev \
ldap \ libfreetype6-dev \
mbstring \ libjpeg-dev \
pdo \ libonig-dev \
pdo_mysql \ zlib1g-dev \
pdo_pgsql \ libc-client-dev \
pgsql \ libkrb5-dev \
sodium \ libpng-dev \
tidy \ libpq-dev \
zip libzip-dev \
libtidy-dev \
libsodium-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip \
; \
\
# Reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
ARG version="5.6.16+230418" ARG version="5.6.25+230605"
ARG sha256_checksum="5479445b16beb0321ae91ddd72716bd5f52e45a91cc7dec415d16f28552947c9" ARG sha256_checksum="283d17ce1b230c584a2b86813d181df2d471e977e74d33da8bb7eb9adcdbd228"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=www-data ARG USER=www-data
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository) # Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
RUN set -ex; \ RUN set -ex; \
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \ curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \ echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \

View File

@@ -3,49 +3,68 @@ LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update && \ apt-get update; \
DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \
apt-get install --no-install-recommends -y \ netcat \
; \
\ \
libldap2-dev \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
libfreetype6-dev \
libjpeg-dev \
libonig-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
curl \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Link LDAP library for PHP ldap extension
RUN set -ex; \
ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ savedAptMark="$(apt-mark showmanual)"; \
docker-php-ext-install -j5 \ \
exif \ apt-get update; \
gd \ apt-get install -y --no-install-recommends \
imap \ libldap2-dev \
ldap \ libfreetype6-dev \
mbstring \ libjpeg-dev \
pdo \ libonig-dev \
pdo_mysql \ zlib1g-dev \
pdo_pgsql \ libc-client-dev \
pgsql \ libkrb5-dev \
sodium \ libpng-dev \
tidy \ libpq-dev \
zip libzip-dev \
libtidy-dev \
libsodium-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip \
; \
\
# Reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
# Apache configuration # Apache configuration
RUN a2enmod headers rewrite remoteip; \ RUN a2enmod headers rewrite remoteip; \
@@ -60,8 +79,8 @@ RUN a2enmod headers rewrite remoteip; \
# Use the default production configuration # Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
ARG version="6.0.2+230417" ARG version="6.1.2+230606"
ARG sha256_checksum="34b8814c026e3510af7f4d12ba6a7a7e7bffb5f5d4b074de97051b0501a90b09" ARG sha256_checksum="5d92b793b98ad697ec65aa3bb615c49158b7578860ba7d352fe0102938daa37c"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=www-data ARG USER=www-data
ARG LISTEN_PORT=8080 ARG LISTEN_PORT=8080

View File

@@ -2,6 +2,10 @@ FROM docker.io/php:8.1-fpm-alpine
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN apk add --no-cache netcat-openbsd bash
# Install PHP Plugins
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .build-deps \ apk add --no-cache --virtual .build-deps \
freetype-dev \ freetype-dev \
@@ -13,14 +17,12 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
oniguruma-dev \ oniguruma-dev \
imap-dev \ imap-dev \
postgresql-dev && \ postgresql-dev \
apk add --no-cache netcat-openbsd bash ; \
\
# Install PHP Plugins docker-php-ext-configure gd --with-freetype --with-jpeg; \
RUN set -ex; \ docker-php-ext-configure imap --with-imap-ssl; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ docker-php-ext-install -j "$(nproc)" \
docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \
exif \ exif \
gd \ gd \
imap \ imap \
@@ -32,10 +34,20 @@ RUN set -ex; \
pgsql \ pgsql \
sodium \ sodium \
tidy \ tidy \
zip zip \
; \
\
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \
apk del --no-cache --no-network .build-deps
ARG version="6.0.2+230417" ARG version="6.1.2+230606"
ARG sha256_checksum="34b8814c026e3510af7f4d12ba6a7a7e7bffb5f5d4b074de97051b0501a90b09" ARG sha256_checksum="5d92b793b98ad697ec65aa3bb615c49158b7578860ba7d352fe0102938daa37c"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=www-data ARG USER=www-data
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version

View File

@@ -3,51 +3,71 @@ LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update && \ apt-get update; \
DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \
apt-get install --no-install-recommends -y \ netcat \
; \
\ \
libldap2-dev \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
libfreetype6-dev \
libjpeg-dev \
libonig-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Link LDAP library for PHP ldap extension
RUN set -ex; \
ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
# hadolint ignore=SC2086
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \ \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ savedAptMark="$(apt-mark showmanual)"; \
docker-php-ext-install -j5 \ \
exif \ apt-get update; \
gd \ apt-get install -y --no-install-recommends \
imap \ libldap2-dev \
ldap \ libfreetype6-dev \
mbstring \ libjpeg-dev \
pdo \ libonig-dev \
pdo_mysql \ zlib1g-dev \
pdo_pgsql \ libc-client-dev \
pgsql \ libkrb5-dev \
sodium \ libpng-dev \
tidy \ libpq-dev \
zip libzip-dev \
libtidy-dev \
libsodium-dev \
; \
\
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \
docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
docker-php-ext-install -j "$(nproc)" \
exif \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip \
; \
\
# Reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
ARG version="6.0.2+230417" ARG version="6.1.2+230606"
ARG sha256_checksum="34b8814c026e3510af7f4d12ba6a7a7e7bffb5f5d4b074de97051b0501a90b09" ARG sha256_checksum="5d92b793b98ad697ec65aa3bb615c49158b7578860ba7d352fe0102938daa37c"
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
ARG USER=www-data ARG USER=www-data
ENV LIMESURVEY_VERSION=$version ENV LIMESURVEY_VERSION=$version

View File

@@ -51,30 +51,6 @@ commandTests:
command: "dpkg" command: "dpkg"
args: ["-l", "netcat"] args: ["-l", "netcat"]
exitCode: 0 exitCode: 0
- name: "Dependencies - libldap2-dev"
command: "dpkg"
args: ["-l", "libldap2-dev"]
exitCode: 0
- name: "Dependencies - zlib1g-dev"
command: "dpkg"
args: ["-l", "zlib1g-dev"]
exitCode: 0
- name: "Dependencies - libc-client-dev"
command: "dpkg"
args: ["-l", "libc-client-dev"]
exitCode: 0
- name: "Dependencies - libkrb5-dev"
command: "dpkg"
args: ["-l", "libkrb5-dev"]
exitCode: 0
- name: "Dependencies - libpng-dev"
command: "dpkg"
args: ["-l", "libpng-dev"]
exitCode: 0
- name: "Dependencies - libpq-dev"
command: "dpkg"
args: ["-l", "libpq-dev"]
exitCode: 0
- name: "Dependencies - PHP Modules" - name: "Dependencies - PHP Modules"
command: "php" command: "php"
args: ["-m"] args: ["-m"]