Compare commits

...

19 Commits

Author SHA1 Message Date
Markus Opolka
ea0ad22209 Upgrading to LTS Version 3.22.4+200212 2020-02-18 08:41:11 +01:00
Markus Opolka
5645da18bb Merge pull request #23 from lennard7001/master
New docker-compose.yml which doesn't depend on the git repo
2020-02-15 08:22:14 +01:00
Markus Opolka
efab6e6904 Upgrading to Version 4.1.3+200213 2020-02-14 08:24:51 +01:00
Markus Opolka
99e1f5a0c6 Upgrading to Version 4.1.2+200210 2020-02-12 08:03:33 +01:00
Markus Opolka
58ea2e58fb Upgrading to LTS Version 3.22.3+200211 2020-02-12 08:00:43 +01:00
lennard7001
647f274900 Create docker-compose.example.yml 2020-02-11 20:00:37 +01:00
Markus Opolka
f031145d17 Upgrading to Version 4.1.1+200203 2020-02-11 08:01:52 +01:00
Markus Opolka
2f60fe9155 Upgrading to LTS Version 3.22.2+200204 2020-02-11 07:59:46 +01:00
Markus Opolka
51a45cd565 Upgrading to Version 4.1.0+200128 2020-02-04 07:36:53 +01:00
Markus Opolka
f25581225c Upgrading to LTS Version 3.22.1+200129 2020-02-04 07:32:08 +01:00
Markus Opolka
cc58c840f0 Merge pull request #22 from martialblog/lts-refactor
Refactor to support LTS version
2020-01-31 18:08:08 +01:00
Markus Opolka
fb6bbf1992 Refactor to support LTS version 2020-01-31 18:02:27 +01:00
Markus Opolka
2392e89bde Upgrading to Version 3.22.0+200127 2020-01-29 10:59:59 +01:00
Markus Opolka
a75590b106 Upgrading to Version 3.21.6+200121 2020-01-27 16:26:30 +01:00
Markus Opolka
cbea63bc20 Upgrading to Version 4.0.0+200116 2020-01-20 21:23:07 +01:00
Markus Opolka
597cf8b0cf Upgrading to Version 3.21.4+200108 2020-01-16 09:50:13 +01:00
Markus Opolka
07c937f620 Upgrading to Version 3.21.3+191219 2020-01-09 08:00:36 +01:00
Markus Opolka
65996ad6b8 Upgrading to Version 3.21.2+191216 2019-12-20 08:01:23 +01:00
Markus Opolka
cd55481064 Upgrading to Version 3.21.1+191210 2019-12-17 07:19:43 +01:00
20 changed files with 546 additions and 20 deletions

View File

@@ -6,8 +6,8 @@ services:
matrix:
include:
- env: TAG=martialblog/limesurvey-apache
script: cd 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 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 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,7 +1,7 @@
FROM php:7.2-apache
LABEL maintainer="markus@martialblog.de"
ARG version='3.21.0+191203'
ARG sha256_checksum='3511e44fbc39372501f933d6188f161d53464120337e69d15c735f1b2f78e287'
ARG version='3.22.4+200212'
ARG sha256_checksum='de906ab9f685d69c3057c75ce339068b3bdabd50c574d92d90621ec729411af3'
# Install OS dependencies
RUN set -ex; \

View File

@@ -1,7 +1,7 @@
FROM php:7.2-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='3.21.0+191203'
ARG sha256_checksum='3511e44fbc39372501f933d6188f161d53464120337e69d15c735f1b2f78e287'
ARG version='3.22.4+200212'
ARG sha256_checksum='de906ab9f685d69c3057c75ce339068b3bdabd50c574d92d90621ec729411af3'
# Install OS dependencies
RUN set -ex; \

View File

@@ -1,7 +1,7 @@
FROM php:7.2-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='3.21.0+191203'
ARG sha256_checksum='3511e44fbc39372501f933d6188f161d53464120337e69d15c735f1b2f78e287'
ARG version='3.22.4+200212'
ARG sha256_checksum='de906ab9f685d69c3057c75ce339068b3bdabd50c574d92d90621ec729411af3'
# Install OS dependencies
RUN set -ex; \

72
4.0/apache/Dockerfile Normal file
View File

@@ -0,0 +1,72 @@
FROM php:7.2-apache
LABEL maintainer="markus@martialblog.de"
ARG version='4.1.3+200213'
ARG sha256_checksum='ebc281dede4454a633dd3a5b35d8594c92c398cf2944262fca14085fffff3b40'
# Install OS dependencies
RUN set -ex; \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
\
libldap2-dev \
libfreetype6-dev \
libjpeg-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
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
RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
zip
ENV LIMESURVEY_VERSION=$version
# Apache configuration
RUN a2enmod headers rewrite remoteip; \
{\
echo RemoteIPHeader X-Real-IP ;\
echo RemoteIPTrustedProxy 10.0.0.0/8 ;\
echo RemoteIPTrustedProxy 172.16.0.0/12 ;\
echo RemoteIPTrustedProxy 192.168.0.0/16 ;\
} > /etc/apache2/conf-available/remoteip.conf;\
a2enconf remoteip
# Use the default production configuration
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
# Download, unzip and chmod LimeSurvey from official GitHub repository
ADD "https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" /tmp
RUN set -ex; \
echo "${sha256_checksum} /tmp/${version}.tar.gz" | sha256sum -c - && \
\
tar xzvf "/tmp/${version}.tar.gz" --strip-components=1 -C /var/www/html/ && \
rm -f "/tmp/${version}.tar.gz" && \
chown -R www-data:www-data /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["apache2-foreground"]

101
4.0/apache/entrypoint.sh Executable file
View File

@@ -0,0 +1,101 @@
#!/bin/bash
# Entrypoint for Docker Container
DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'}
DB_PORT=${DB_PORT:-'3306'}
DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
ADMIN_USER=${ADMIN_USER:-'admin'}
ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-'-'}
PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'}
# Check if database is available
if [ -z "$DB_SOCK" ]; then
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
fi
# Check if already provisioned
if [ -f application/config/config.php ]; then
echo 'Info: config.php already provisioned'
else
echo 'Info: Generating config.php'
if [ "$DB_TYPE" = 'mysql' ]; then
echo 'Info: Using MySQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8mb4'}
cp application/config/config-sample-mysql.php application/config/config.php
fi
if [ "$DB_TYPE" = 'pgsql' ]; then
echo 'Info: Using PostgreSQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8'}
cp application/config/config-sample-pgsql.php application/config/config.php
fi
# Set Database config
if [ ! -z "$DB_SOCK" ]; then
echo 'Info: Using unix socket'
sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:unix_socket=${DB_SOCK};dbname=${DB_NAME};',#g" application/config/config.php
else
echo 'Info: Using TCP connection'
sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php
fi
sed -i "s#\('username' => \).*,\$#\\1'${DB_USERNAME}',#g" application/config/config.php
sed -i "s#\('password' => \).*,\$#\\1'${DB_PASSWORD}',#g" application/config/config.php
sed -i "s#\('charset' => \).*,\$#\\1'${DB_CHARSET}',#g" application/config/config.php
sed -i "s#\('tablePrefix' => \).*,\$#\\1'${DB_TABLE_PREFIX}',#g" application/config/config.php
# Set URL config
sed -i "s#\('urlFormat' => \).*,\$#\\1'${URL_FORMAT}',#g" application/config/config.php
# Set Public URL
if [ -z "$PUBLIC_URL" ]; then
echo 'Info: Setting PublicURL'
sed -i "s#\('debug'=>0,\)\$#'publicurl'=>'${PUBLIC_URL}',\n\t\t\\1 #g" application/config/config.php
fi
fi
# Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'
php application/commands/console.php updatedb
if [ $? -eq 0 ]; then
echo 'Info: Database already provisioned'
else
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
echo ''
echo 'Running console.php install'
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL
fi
exec "$@"

51
4.0/fpm-alpine/Dockerfile Normal file
View File

@@ -0,0 +1,51 @@
FROM php:7.2-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='4.1.3+200213'
ARG sha256_checksum='ebc281dede4454a633dd3a5b35d8594c92c398cf2944262fca14085fffff3b40'
# Install OS dependencies
RUN set -ex; \
apk add --no-cache --virtual .build-deps \
freetype-dev \
libpng-dev \
libjpeg-turbo-dev \
openldap-dev \
imap-dev \
postgresql-dev && \
apk add --no-cache netcat-openbsd bash
# Install PHP Plugins
RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr ; \
docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
zip
# Download, unzip and chmod of LimeSurvey
ADD "https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" /tmp
RUN set -ex; \
echo "${sha256_checksum} /tmp/${version}.tar.gz" | sha256sum -c - && \
\
tar xzvf "/tmp/${version}.tar.gz" --strip-components=1 -C /var/www/html/ && \
\
rm -rf "/tmp/${version}.tar.gz" \
/var/www/html/docs \
/var/www/html/tests \
/var/www/html/*.md && \
chown -R www-data:root /var/www/ ; \
chmod -R g=u /var/www
EXPOSE 9000
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["php-fpm"]

101
4.0/fpm-alpine/entrypoint.sh Executable file
View File

@@ -0,0 +1,101 @@
#!/bin/bash
# Entrypoint for Docker Container
DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'}
DB_PORT=${DB_PORT:-'3306'}
DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
ADMIN_USER=${ADMIN_USER:-'admin'}
ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-'-'}
PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'}
# Check if database is available
if [ -z "$DB_SOCK" ]; then
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
fi
# Check if already provisioned
if [ -f application/config/config.php ]; then
echo 'Info: config.php already provisioned'
else
echo 'Info: Generating config.php'
if [ "$DB_TYPE" = 'mysql' ]; then
echo 'Info: Using MySQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8mb4'}
cp application/config/config-sample-mysql.php application/config/config.php
fi
if [ "$DB_TYPE" = 'pgsql' ]; then
echo 'Info: Using PostgreSQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8'}
cp application/config/config-sample-pgsql.php application/config/config.php
fi
# Set Database config
if [ ! -z "$DB_SOCK" ]; then
echo 'Info: Using unix socket'
sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:unix_socket=${DB_SOCK};dbname=${DB_NAME};',#g" application/config/config.php
else
echo 'Info: Using TCP connection'
sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php
fi
sed -i "s#\('username' => \).*,\$#\\1'${DB_USERNAME}',#g" application/config/config.php
sed -i "s#\('password' => \).*,\$#\\1'${DB_PASSWORD}',#g" application/config/config.php
sed -i "s#\('charset' => \).*,\$#\\1'${DB_CHARSET}',#g" application/config/config.php
sed -i "s#\('tablePrefix' => \).*,\$#\\1'${DB_TABLE_PREFIX}',#g" application/config/config.php
# Set URL config
sed -i "s#\('urlFormat' => \).*,\$#\\1'${URL_FORMAT}',#g" application/config/config.php
# Set Public URL
if [ -z "$PUBLIC_URL" ]; then
echo 'Info: Setting PublicURL'
sed -i "s#\('debug'=>0,\)\$#'publicurl'=>'${PUBLIC_URL}',\n\t\t\\1 #g" application/config/config.php
fi
fi
# Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'
php application/commands/console.php updatedb
if [ $? -eq 0 ]; then
echo 'Info: Database already provisioned'
else
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
echo ''
echo 'Running console.php install'
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL
fi
exec "$@"

60
4.0/fpm/Dockerfile Normal file
View File

@@ -0,0 +1,60 @@
FROM php:7.2-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='4.1.3+200213'
ARG sha256_checksum='ebc281dede4454a633dd3a5b35d8594c92c398cf2944262fca14085fffff3b40'
# Install OS dependencies
RUN set -ex; \
apt-get update && \
DEBIAN_FRONTEND=noninteractive \
apt-get install --no-install-recommends -y \
\
libldap2-dev \
libfreetype6-dev \
libjpeg-dev \
zlib1g-dev \
libc-client-dev \
libkrb5-dev \
libpng-dev \
libpq-dev \
netcat \
\
&& apt-get -y autoclean; apt-get -y autoremove; \
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
RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \
gd \
imap \
ldap \
mbstring \
pdo \
pdo_mysql \
pdo_pgsql \
pgsql \
zip
ENV LIMESURVEY_VERSION=$version
# Download, unzip and chmod LimeSurvey from official GitHub repository
ADD "https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz" /tmp
RUN set -ex; \
echo "${sha256_checksum} /tmp/${version}.tar.gz" | sha256sum -c - && \
\
tar xzvf "/tmp/${version}.tar.gz" --strip-components=1 -C /var/www/html/ && \
rm -f "/tmp/${version}.tar.gz" && \
chown -R www-data:www-data /var/www/html
EXPOSE 9000
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
CMD ["php-fpm"]

101
4.0/fpm/entrypoint.sh Executable file
View File

@@ -0,0 +1,101 @@
#!/bin/bash
# Entrypoint for Docker Container
DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'}
DB_PORT=${DB_PORT:-'3306'}
DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
ADMIN_USER=${ADMIN_USER:-'admin'}
ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-'-'}
PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'}
# Check if database is available
if [ -z "$DB_SOCK" ]; then
until nc -z -v -w30 $DB_HOST $DB_PORT
do
echo "Info: Waiting for database connection..."
sleep 5
done
fi
# Check if already provisioned
if [ -f application/config/config.php ]; then
echo 'Info: config.php already provisioned'
else
echo 'Info: Generating config.php'
if [ "$DB_TYPE" = 'mysql' ]; then
echo 'Info: Using MySQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8mb4'}
cp application/config/config-sample-mysql.php application/config/config.php
fi
if [ "$DB_TYPE" = 'pgsql' ]; then
echo 'Info: Using PostgreSQL configuration'
DB_CHARSET=${DB_CHARSET:-'utf8'}
cp application/config/config-sample-pgsql.php application/config/config.php
fi
# Set Database config
if [ ! -z "$DB_SOCK" ]; then
echo 'Info: Using unix socket'
sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:unix_socket=${DB_SOCK};dbname=${DB_NAME};',#g" application/config/config.php
else
echo 'Info: Using TCP connection'
sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php
fi
sed -i "s#\('username' => \).*,\$#\\1'${DB_USERNAME}',#g" application/config/config.php
sed -i "s#\('password' => \).*,\$#\\1'${DB_PASSWORD}',#g" application/config/config.php
sed -i "s#\('charset' => \).*,\$#\\1'${DB_CHARSET}',#g" application/config/config.php
sed -i "s#\('tablePrefix' => \).*,\$#\\1'${DB_TABLE_PREFIX}',#g" application/config/config.php
# Set URL config
sed -i "s#\('urlFormat' => \).*,\$#\\1'${URL_FORMAT}',#g" application/config/config.php
# Set Public URL
if [ -z "$PUBLIC_URL" ]; then
echo 'Info: Setting PublicURL'
sed -i "s#\('debug'=>0,\)\$#'publicurl'=>'${PUBLIC_URL}',\n\t\t\\1 #g" application/config/config.php
fi
fi
# Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'
php application/commands/console.php updatedb
if [ $? -eq 0 ]; then
echo 'Info: Database already provisioned'
else
# Check if DB_PASSWORD is set
if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD'
exit 1
fi
# Check if DB_PASSWORD is set
if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD'
exit 1
fi
echo ''
echo 'Running console.php install'
php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL
fi
exec "$@"

View File

@@ -0,0 +1,33 @@
version: '3'
services:
limesurvey:
image: martialblog/limesurvey:latest
restart: always
environment:
- DB_TYPE=pgsql
- DB_PORT=5432
- DB_HOST=limesurvey_db_1.limesurvey_default
- DB_PASSWORD=example
- DB_NAME=limesurvey
- DB_USERNAME=limesurvey
- ADMIN_USER=admin
- ADMIN_NAME=Admin
- ADMIN_PASSWORD=example
- ADMIN_EMAIL=admin@example.com
- PUBLIC_URL=foobar.com
volumes:
- limesurvey:/var/www/html/upload/surveys
ports:
- 8080:80
depends_on:
- db
db:
image: postgres:9.6-alpine
restart: always
environment:
- POSTGRES_USER=limesurvey
- POSTGRES_DB=limesurvey
- POSTGRES_PASSWORD=example
volumes:
limesurvey:

View File

@@ -2,7 +2,7 @@ version: "3.0"
services:
limesurvey:
build:
context: fpm-alpine/
context: 4.0/fpm-alpine/
dockerfile: Dockerfile
volumes:
- /tmp/upload/surveys:/var/www/html/upload/surveys

View File

@@ -2,7 +2,7 @@ version: "3.0"
services:
limesurvey:
build:
context: fpm/
context: 4.0/fpm/
dockerfile: Dockerfile
volumes:
- /tmp/upload/surveys:/var/www/html/upload/surveys

View File

@@ -2,7 +2,7 @@ version: "3.0"
services:
limesurvey:
build:
context: apache/
context: 4.0/apache/
dockerfile: Dockerfile
volumes:
- /tmp/upload/surveys:/var/www/html/upload/surveys

View File

@@ -2,7 +2,7 @@ version: "3.0"
services:
limesurvey:
build:
context: apache/
context: 4.0/apache/
dockerfile: Dockerfile
volumes:
- /tmp/upload/surveys:/var/www/html/upload/surveys

View File

@@ -1,8 +1,14 @@
.PHONY: apache fpm fpm-alpine
apache:
docker build --pull -t limesurvey:apache apache
docker build --pull -t limesurvey:apache 3.0/apache
apache4:
docker build --pull -t limesurvey:apache 4.0/apache
fpm-alpine:
docker build --pull -t limesurvey:fpm-alpine fpm-alpine
docker build --pull -t limesurvey:fpm-alpine 3.0/fpm-alpine
fpm-alpine4:
docker build --pull -t limesurvey:fpm-alpine 4.0/fpm-alpine
fpm:
docker build --pull -t limesurvey:fpm fpm
docker build --pull -t limesurvey:fpm 3.0/fpm
fpm4:
docker build --pull -t limesurvey:fpm 4.0/fpm

View File

@@ -6,13 +6,14 @@ set -x
if [ $# -eq 0 ]
then
echo 'Pass new LimeSurvey Version tag:'
echo 'upgrade.sh 3.15.8+190130'
echo '> upgrade.sh 3.15.8+190130'
exit 1
fi
NEW_VERSION=$1
MAJOR_VERSION=$(echo $NEW_VERSION | cut -c 1 | awk '{print $1".0"}')
grep -qc $NEW_VERSION apache/Dockerfile fpm/Dockerfile fpm-alpine/Dockerfile
grep -qc $NEW_VERSION $MAJOR_VERSION/apache/Dockerfile $MAJOR_VERSION/fpm/Dockerfile $MAJOR_VERSION/fpm-alpine/Dockerfile
if [ $? -eq 0 ]
then
@@ -26,7 +27,7 @@ wget -P /tmp "https://github.com/LimeSurvey/LimeSurvey/archive/${NEW_VERSION}.ta
SHA256_CHECKSUM=$(sha256sum "/tmp/${NEW_VERSION}.tar.gz" | awk '{ print $1 }')
# Update lines in the files
sed -r -i -e "s/[0-9]+(\.[0-9]+)+\+[0-9]+/$NEW_VERSION/" apache/Dockerfile fpm/Dockerfile fpm-alpine/Dockerfile
sed -r -i -e "s/[A-Fa-f0-9]{64}/$SHA256_CHECKSUM/" apache/Dockerfile fpm/Dockerfile fpm-alpine/Dockerfile
sed -r -i -e "s/[0-9]+(\.[0-9]+)+\+[0-9]+/$NEW_VERSION/" $MAJOR_VERSION/apache/Dockerfile $MAJOR_VERSION/fpm/Dockerfile $MAJOR_VERSION/fpm-alpine/Dockerfile
sed -r -i -e "s/[A-Fa-f0-9]{64}/$SHA256_CHECKSUM/" $MAJOR_VERSION/apache/Dockerfile $MAJOR_VERSION/fpm/Dockerfile $MAJOR_VERSION/fpm-alpine/Dockerfile
# After that, check and commit