Compare commits

..

1 Commits

Author SHA1 Message Date
Markus Opolka
180eaf9c21 Upgrading to Version 4.3.31+201214 2020-12-21 15:07:16 +01:00
15 changed files with 36 additions and 114 deletions

2
.gitattributes vendored
View File

@@ -1,2 +0,0 @@
# force LF in entrypoint.sh
entrypoint.sh text eol=lf

View File

@@ -2,17 +2,12 @@ sudo: required
language: bash
services:
- docker
install:
jobs:
matrix:
include:
- env: HADOLINT="${HOME}/hadolint"
script:
- curl -sL -o ${HADOLINT} "https://github.com/hadolint/hadolint/releases/download/v1.23.0/hadolint-$(uname -s)-$(uname -m)"
- chmod 700 ${HADOLINT}
- git ls-files --exclude='Dockerfile*' --ignored | xargs --max-lines=1 ${HADOLINT} --ignore DL4006 --ignore DL3008 --ignore DL3018
- env: TAG=martialblog/limesurvey-apache
script: cd 4.0/apache; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
script: cd 3.0/apache; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
- env: TAG=martialblog/limesurvey-fpm
script: cd 4.0/fpm; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
script: cd 3.0/fpm; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
- env: TAG=martialblog/limesurvey-alpine
script: cd 4.0/fpm; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG
script: cd 3.0/fpm; docker build -q -t $TAG . && cd ../..; ./tests/run.sh $TAG

View File

@@ -1,9 +1,7 @@
FROM php:7.4-apache
LABEL maintainer="markus@martialblog.de"
ARG version='3.26.3+210511'
ARG sha256_checksum='1366a497ac853305334558d919d8e25961ef44313481dd6a8b7150ab3e67fd07'
ARG USER=root
ARG LISTEN_PORT=80
ARG version='3.25.4+201215'
ARG sha256_checksum='6b19e10103376a7e3a416bdd07d09f32195ea989229bdb42c32e7f5dd1c5ddde'
# Install OS dependencies
RUN set -ex; \
@@ -21,8 +19,6 @@ RUN set -ex; \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
@@ -34,7 +30,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \
exif \
@@ -46,8 +42,6 @@ RUN set -ex; \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip
ENV LIMESURVEY_VERSION=$version
@@ -73,10 +67,9 @@ RUN set -ex; \
\
tar xzvf "/tmp/limesurvey.tar.gz" --strip-components=1 -C /var/www/html/ && \
rm -f "/tmp/limesurvey.tar.gz" && \
chown -R www-data:www-data /var/www/html /etc/apache2
chown -R www-data:www-data /var/www/html
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
USER $USER
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@@ -23,8 +23,6 @@ URL_FORMAT=${URL_FORMAT:-'path'}
DEBUG=${DEBUG:-0}
DEBUG_SQL=${DEBUG_SQL:-0}
LISTEN_PORT=${LISTEN_PORT:-"80"}
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
@@ -35,11 +33,6 @@ if [ -z "$ADMIN_PASSWORD" ]; then
exit 1
fi
if [ "$LISTEN_PORT" != "80" ]; then
echo "Info: Customizing Apache Listen port to $LISTEN_PORT"
sed -i "s/80/$LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
fi
# Check if database is available
if [ -z "$DB_SOCK" ]; then
until nc -z -v -w30 $DB_HOST $DB_PORT

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='3.26.3+210511'
ARG sha256_checksum='1366a497ac853305334558d919d8e25961ef44313481dd6a8b7150ab3e67fd07'
ARG version='3.25.4+201215'
ARG sha256_checksum='6b19e10103376a7e3a416bdd07d09f32195ea989229bdb42c32e7f5dd1c5ddde'
# Install OS dependencies
RUN set -ex; \
@@ -10,8 +10,6 @@ RUN set -ex; \
libpng-dev \
libzip-dev \
libjpeg-turbo-dev \
tidyhtml-dev \
libsodium-dev \
openldap-dev \
oniguruma-dev \
imap-dev \
@@ -20,7 +18,7 @@ RUN set -ex; \
# Install PHP Plugins
RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \
gd \
@@ -31,8 +29,6 @@ RUN set -ex; \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip
# Download, unzip and chmod of LimeSurvey
@@ -52,7 +48,6 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='3.26.3+210511'
ARG sha256_checksum='1366a497ac853305334558d919d8e25961ef44313481dd6a8b7150ab3e67fd07'
ARG version='3.25.4+201215'
ARG sha256_checksum='6b19e10103376a7e3a416bdd07d09f32195ea989229bdb42c32e7f5dd1c5ddde'
# Install OS dependencies
RUN set -ex; \
@@ -19,8 +19,6 @@ RUN set -ex; \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
@@ -32,7 +30,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \
exif \
@@ -44,8 +42,6 @@ RUN set -ex; \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip
ENV LIMESURVEY_VERSION=$version
@@ -62,7 +58,6 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1,9 +1,7 @@
FROM php:7.4-apache
LABEL maintainer="markus@martialblog.de"
ARG version='4.6.1+210510'
ARG sha256_checksum='6051b14d7c92e466799ed02710b7ecb0203613663769e93a4759e4a5b4175d85'
ARG USER=root
ARG LISTEN_PORT=80
ARG version='4.3.31+201214'
ARG sha256_checksum='d237c6a799fbb73bdbca1b11f233a640f2a5aa4d62043cc7b809de31e1bda604'
# Install OS dependencies
RUN set -ex; \
@@ -21,8 +19,6 @@ RUN set -ex; \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
curl \
\
@@ -35,7 +31,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \
exif \
@@ -47,8 +43,6 @@ RUN set -ex; \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip
ENV LIMESURVEY_VERSION=$version
@@ -74,10 +68,9 @@ RUN set -ex; \
\
tar xzvf "/tmp/limesurvey.tar.gz" --strip-components=1 -C /var/www/html/ && \
rm -f "/tmp/limesurvey.tar.gz" && \
chown -R www-data:www-data /var/www/html /etc/apache2
chown -R www-data:www-data /var/www/html
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
USER $USER
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@@ -27,8 +27,6 @@ URL_FORMAT=${URL_FORMAT:-'path'}
DEBUG=${DEBUG:-0}
DEBUG_SQL=${DEBUG_SQL:-0}
LISTEN_PORT=${LISTEN_PORT:-"80"}
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
@@ -39,11 +37,6 @@ if [ -z "$ADMIN_PASSWORD" ]; then
exit 1
fi
if [ "$LISTEN_PORT" != "80" ]; then
echo "Info: Customizing Apache Listen port to $LISTEN_PORT"
sed -i "s/80/$LISTEN_PORT/" /etc/apache2/ports.conf /etc/apache2/sites-available/000-default.conf
fi
# Check if database is available
if [ -z "$DB_SOCK" ]; then
until nc -z -v -w30 $DB_HOST $DB_PORT

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='4.6.1+210510'
ARG sha256_checksum='6051b14d7c92e466799ed02710b7ecb0203613663769e93a4759e4a5b4175d85'
ARG version='4.3.31+201214'
ARG sha256_checksum='d237c6a799fbb73bdbca1b11f233a640f2a5aa4d62043cc7b809de31e1bda604'
# Install OS dependencies
RUN set -ex; \
@@ -10,8 +10,6 @@ RUN set -ex; \
libpng-dev \
libzip-dev \
libjpeg-turbo-dev \
tidyhtml-dev \
libsodium-dev \
openldap-dev \
oniguruma-dev \
imap-dev \
@@ -20,7 +18,7 @@ RUN set -ex; \
# Install PHP Plugins
RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \
exif \
@@ -32,8 +30,6 @@ RUN set -ex; \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip
# Download, unzip and chmod of LimeSurvey
@@ -53,7 +49,6 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='4.6.1+210510'
ARG sha256_checksum='6051b14d7c92e466799ed02710b7ecb0203613663769e93a4759e4a5b4175d85'
ARG version='4.3.31+201214'
ARG sha256_checksum='d237c6a799fbb73bdbca1b11f233a640f2a5aa4d62043cc7b809de31e1bda604'
# Install OS dependencies
RUN set -ex; \
@@ -19,8 +19,6 @@ RUN set -ex; \
libpng-dev \
libpq-dev \
libzip-dev \
libtidy-dev \
libsodium-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
@@ -32,7 +30,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \
exif \
@@ -44,8 +42,6 @@ RUN set -ex; \
pdo_mysql \
pdo_pgsql \
pgsql \
sodium \
tidy \
zip
ENV LIMESURVEY_VERSION=$version
@@ -62,7 +58,6 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -13,19 +13,15 @@ Dockerfile to build a [LimeSurvey](https://limesurvey.org) Image for the Docker
## Supported tags and respective Dockerfile links
- [`4-apache`, `4.<BUILD-NUMBER>-apache`, `latest` ](https://github.com/martialblog/docker-limesurvey/blob/master/4.0/apache/Dockerfile)
- [`4-apache-rootless`, `4.<BUILD-NUMBER>-apache-rootless`](https://github.com/martialblog/docker-limesurvey/blob/master/4.0/apache/Dockerfile)
- [`4-fpm`, `4.<BUILD-NUMBER>-fpm`](https://github.com/martialblog/docker-limesurvey/blob/master/4.0/fpm/Dockerfile)
- [`4-fpm-alpine`, `4.<BUILD-NUMBER>-fpm-alpine`](https://github.com/martialblog/docker-limesurvey/blob/master/4.0/fpm-alpine/Dockerfile)
- [`3-apache`, `3.<BUILD-NUMBER>-apache`](https://github.com/martialblog/docker-limesurvey/blob/master/3.0/apache/Dockerfile)
- [`3-apache-rootless`, `3.<BUILD-NUMBER>-apache-rootless`](https://github.com/martialblog/docker-limesurvey/blob/master/3.0/apache/Dockerfile)
- [`3-fpm`, `3.<BUILD-NUMBER>-fpm`](https://github.com/martialblog/docker-limesurvey/blob/master/3.0/fpm/Dockerfile)
- [`3-fpm-alpine`, `3.<BUILD-NUMBER>-fpm-alpine`](https://github.com/martialblog/docker-limesurvey/blob/master/3.0/fpm-alpine/Dockerfile)
# Using the Apache Image
The `apache` image comes with an Apache Webserver and PHP installed.
This image is also available as `rootless` with `www-data` as default user.
The apache image comes with an Apache Webserver and PHP installed.
## Apache Configuration
@@ -35,8 +31,6 @@ To change to Apache Webserver configuration, mount a Volume into the Container a
See the example configuration provided.
If you want to run Apache on a non-privileged port inside the container, just specify a environment variable `LISTEN_PORT` (e.g. `LISTEN_PORT=8080`).
# Using the fpm Image
To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. See *docker-compose.fpm.yml* for example.
@@ -118,7 +112,6 @@ For further details on the settings see: https://manual.limesurvey.org/Data_encr
| ENCRYPT_KEYPAIR | Data encryption keypair |
| ENCRYPT_PUBLIC_KEY | Data encryption public key |
| ENCRYPT_SECRET_KEY | Data encryption secret key |
| LISTEN_PORT | Apache: Listen port. Default: 80 |
For further details on the settings see: https://manual.limesurvey.org/Optional_settings#Advanced_Path_Settings

View File

@@ -22,10 +22,8 @@ services:
depends_on:
- db
db:
image: postgres:10-alpine
image: postgres:9.6-alpine
restart: always
volumes:
- db-data:/var/lib/postgresql
environment:
- POSTGRES_USER=limesurvey
- POSTGRES_DB=limesurvey
@@ -33,4 +31,3 @@ services:
volumes:
limesurvey:
db-data:

View File

@@ -20,12 +20,7 @@ services:
- "ADMIN_PASSWORD=foobar"
lime-db:
image: postgres:10
volumes:
- db-data:/var/lib/postgresql
environment:
- "POSTGRES_USER=limesurvey"
- "POSTGRES_DB=limesurvey"
- "POSTGRES_PASSWORD=secret"
volumes:
db-data:

View File

@@ -2,12 +2,8 @@
apache3:
docker build --pull -t martialblog/limesurvey:3-apache 3.0/apache
apache3-rootless:
docker build --pull --build-arg USER=www-data --build-arg LISTEN_PORT=8080 -t martialblog/limesurvey:3-apache-rootless 3.0/apache
apache4:
docker build --pull -t martialblog/limesurvey:3-apache 3.0/apache
apache4-rootless:
docker build --pull --build-arg USER=www-data --build-arg LISTEN_PORT=8080 -t martialblog/limesurvey:4-apache-rootless 4.0/apache
docker build --pull -t martialblog/limesurvey:4-apache 4.0/apache
fpm-alpine3:
docker build --pull -t martialblog/limesurvey:3-fpm-alpine 3.0/fpm-alpine
fpm-alpine4:

View File

@@ -1,14 +1,10 @@
FROM nginx:stable
LABEL maintainer="markus@martialblog.de"
RUN set -ex; \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
certbot curl python-certbot-nginx && \
apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/*
FROM nginx
RUN apt-get update && \
apt-get install -y certbot curl python-certbot-nginx && \
apt-get -y autoclean; apt-get -y autoremove; \
rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh /entrypoint.sh
RUN chmod 700 /entrypoint.sh
CMD ["/entrypoint.sh"]