Compare commits

...

53 Commits

Author SHA1 Message Date
Markus Opolka
3e4bdaf2ef Upgrading to LTS Version 3.25.1+201124 2020-12-01 07:23:19 +01:00
Markus Opolka
909d240306 Merge pull request #46 from MarkErik/remove-unused-security-LS3
Remove unused references to encryption for LS3 entrypoints
2020-12-01 07:21:56 +01:00
Mark
7f8ae6921a Remove unused references to encryption for LS3 entrypoints
Limesurvey 3.0 won't support the encyption introduced in LS4, so the variables and the check for security.php isn't necessary in the entrypoint.sh files.
2020-11-29 19:58:26 -05:00
Markus Opolka
17b72df441 Upgrading to Version 4.3.27+201116 2020-11-24 08:08:36 +01:00
Markus Opolka
0c90ce2487 Upgrading to LTS Version 3.25.0+201117 2020-11-24 08:07:40 +01:00
Markus Opolka
4b12d8a53c Upgrading to Version 4.3.26+201110 2020-11-16 10:40:22 +01:00
Markus Opolka
c90840d414 Upgrading to LTS Version 3.24.6+201109 2020-11-16 10:39:33 +01:00
Markus Opolka
89f15d94ba Upgrading to Version 4.3.25+201105 2020-11-10 07:37:10 +01:00
Markus Opolka
ab6da243fe Upgrading to LTS Version 3.24.5+201104 2020-11-10 07:35:55 +01:00
Markus Opolka
ce54275ddd Upgrading to Version 4.3.24+201102 2020-11-05 07:27:51 +01:00
Markus Opolka
b0b38440e4 Upgrading to LTS Version 3.24.4+201103 2020-11-05 07:26:37 +01:00
Markus Opolka
56b9a7e686 Merge pull request #44 from martialblog/php-upgrade
Update Base Images to PHP 7.4
2020-11-03 11:29:55 +01:00
Markus Opolka
41a275a59d Update Base Images to PHP 7.4 2020-11-03 10:43:39 +01:00
Markus Opolka
876145e009 Upgrading to Version 4.3.23+201026 2020-11-03 07:55:44 +01:00
Markus Opolka
4a9a8a9bc3 Upgrading to LTS Version 3.24.3+201027 2020-11-03 07:54:18 +01:00
Markus Opolka
a189f5eceb Merge pull request #42 from jwhb/compose-services
Simplify database host values with compose
2020-11-02 08:29:42 +01:00
jwhb
0c7e8947ca Simplify database host values with compose 2020-10-31 16:07:59 +01:00
Markus Opolka
7912d765ad Upgrading to Version 4.3.22+201019 2020-10-26 14:54:48 +01:00
Markus Opolka
245cd092ed Upgrading to LTS Version 3.24.2+201020 2020-10-26 14:53:07 +01:00
Markus Opolka
c897f9efbe Upgrading to Version 4.3.21+201015 2020-10-19 10:40:34 +02:00
Markus Opolka
ffe21eb987 Upgrading to LTS Version 3.24.1+201014 2020-10-19 10:39:39 +02:00
Markus Opolka
e4c997f148 Extend upgrade script
- now shows commit message template
2020-10-19 10:39:18 +02:00
Markus Opolka
ebfbaeb119 Upgrading to Version 4.3.20+201012 2020-10-14 18:17:53 +02:00
Markus Opolka
7df88e2980 Upgrading to LTS Version 3.24.0+201013 2020-10-14 18:17:06 +02:00
Markus Opolka
8737c5c99c Minor fix in Makefix 2020-10-14 16:11:46 +02:00
Markus Opolka
02f9309f25 Update Makefile 2020-10-14 15:50:28 +02:00
Markus Opolka
ea3a644bfe Update README
- Added details on Tags and Dockerfiles
 - Some markdown improvements
 - Minor spelling fixes
2020-10-14 15:18:19 +02:00
Markus Opolka
f0000f7448 Upgrading to Version 4.3.19+201005 2020-10-13 07:49:59 +02:00
Markus Opolka
6d71e4ecc2 Upgrading to LTS Version 3.23.7+201006 2020-10-13 07:48:55 +02:00
Markus Opolka
2d8e54191d Merge pull request #40 from martialblog/baseurl-param
Add BASE_URL Parameter to work with a Reverse Proxy
2020-10-08 13:03:45 +02:00
Markus Opolka
79047b6ef9 Add BASE_URL Parameter to work with a Reverse Proxy 2020-10-08 12:19:21 +02:00
Markus Opolka
1c3854fe28 Upgrading to Version 4.3.18+200928 2020-10-05 10:28:32 +02:00
Markus Opolka
5d9cad19a6 Upgrading to LTS Version 3.23.6+200929 2020-10-05 10:27:42 +02:00
Markus Opolka
e55d0b89fa Upgrading to Version 4.3.17+200921 2020-09-28 15:48:41 +02:00
Markus Opolka
94ea6bda5b Upgrading to LTS Version 3.23.5+200923 2020-09-28 15:47:50 +02:00
Markus Opolka
5bf70a5640 Upgrading to Version 3.23.4+200922 2020-09-23 07:21:04 +02:00
Markus Opolka
9fc0ccc03c Upgrading to Version 4.3.16+200915 2020-09-22 07:52:10 +02:00
Markus Opolka
4ab8956a4c Upgrading to LTS Version 3.23.3+200909 2020-09-22 07:51:16 +02:00
Markus Opolka
7a597d1cfe Upgrading to Version 4.3.15+200907 2020-09-15 20:46:57 +02:00
Markus Opolka
3a7c6d1328 Fix typo in README 2020-09-09 16:18:51 +02:00
Markus Opolka
c794a8fb3a Upgrading to LTS Version 3.23.2+200908 2020-09-08 09:42:13 +02:00
Markus Opolka
4430106edc Upgrading to Version 4.3.14+200826 2020-09-08 07:28:22 +02:00
Markus Opolka
9c9508ab1f Upgrading to LTS Version 3.23.1+200825 2020-09-08 07:27:27 +02:00
Markus Opolka
2f710a23c1 Update CONTRIBUTING.md 2020-08-28 20:57:02 +02:00
Markus Opolka
0b4d0affc1 Upgrading to Version 4.3.13+200824 2020-08-26 19:35:28 +02:00
Markus Opolka
eab3428bca Upgrading to Version 4.3.12+200820 2020-08-25 07:09:05 +02:00
Markus Opolka
411ac77814 Upgrading to LTS Version 3.23.0+200813 2020-08-25 07:07:52 +02:00
Markus Opolka
453160b3f2 Upgrading to Version 4.3.11+200817 2020-08-20 18:42:14 +02:00
Markus Opolka
62e27bdfeb Upgrading to Version 4.3.10+200812 2020-08-17 20:39:43 +02:00
Markus Opolka
20231d4131 Upgrading to Version 4.3.9+200806 2020-08-13 08:08:20 +02:00
Markus Opolka
5bf6128301 Upgrading to LTS Version 3.22.210+200804 2020-08-13 08:07:27 +02:00
Markus Opolka
f027de8442 Upgrading to Version 4.3.8+200803 2020-08-07 07:20:56 +02:00
Markus Opolka
088850e4f3 Upgrading to Version 4.3.7+200730 2020-08-03 18:41:43 +02:00
21 changed files with 130 additions and 136 deletions

View File

@@ -1,7 +1,7 @@
FROM php:7.2-apache FROM php:7.4-apache
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
ARG version='3.22.29+200731' ARG version='3.25.1+201124'
ARG sha256_checksum='264f64767b20734aa588a0fd009e94a1a3804773a6a37510ec9b4e142a9ad055' ARG sha256_checksum='a735501e282ea4a98a0b68044c2de11f300b796c74e3a36900c23d86aaad24fb'
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
@@ -12,11 +12,13 @@ RUN set -ex; \
libldap2-dev \ libldap2-dev \
libfreetype6-dev \ libfreetype6-dev \
libjpeg-dev \ libjpeg-dev \
libonig-dev \
zlib1g-dev \ zlib1g-dev \
libc-client-dev \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libzip-dev \
netcat \ netcat \
\ \
&& apt-get -y autoclean; apt-get -y autoremove; \ && apt-get -y autoclean; apt-get -y autoremove; \
@@ -28,7 +30,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \ docker-php-ext-install -j5 \
exif \ exif \

View File

@@ -11,15 +11,12 @@ DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-} DB_PASSWORD=${DB_PASSWORD:-}
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
ADMIN_USER=${ADMIN_USER:-'admin'} ADMIN_USER=${ADMIN_USER:-'admin'}
ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-} ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'} URL_FORMAT=${URL_FORMAT:-'path'}
@@ -90,6 +87,9 @@ return array(
'rules' => array(), 'rules' => array(),
'showScriptName' => true, 'showScriptName' => true,
), ),
'request' => array(
'baseUrl' => '$BASE_URL',
),
), ),
'config'=>array( 'config'=>array(
'publicurl'=>'$PUBLIC_URL', 'publicurl'=>'$PUBLIC_URL',
@@ -102,27 +102,6 @@ EOF
fi fi
# Check if security config already provisioned
if [ -f application/config/security.php ]; then
echo 'Info: security.php already provisioned'
else
echo 'Info: Creating security.php'
if [ ! -z "$ENCRYPT_KEYPAIR" ]; then
cat <<EOF > application/config/security.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
\$config = array();
\$config['encryptionkeypair'] = '$ENCRYPT_KEYPAIR';
\$config['encryptionpublickey'] = '$ENCRYPT_PUBLIC_KEY';
\$config['encryptionsecretkey'] = '$ENCRYPT_SECRET_KEY';
return \$config;
EOF
else
echo >&2 'Warning: No encryption keys were provided'
echo >&2 'Warning: A security.php config will be created by the application'
echo >&2 'Warning: THIS FILE NEEDS TO BE PERSISTENT'
fi
fi
# Check if LimeSurvey database is provisioned # Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.' echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'

View File

@@ -1,22 +1,24 @@
FROM php:7.2-fpm-alpine FROM php:7.4-fpm-alpine
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
ARG version='3.22.29+200731' ARG version='3.25.1+201124'
ARG sha256_checksum='264f64767b20734aa588a0fd009e94a1a3804773a6a37510ec9b4e142a9ad055' ARG sha256_checksum='a735501e282ea4a98a0b68044c2de11f300b796c74e3a36900c23d86aaad24fb'
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .build-deps \ apk add --no-cache --virtual .build-deps \
freetype-dev \ freetype-dev \
libpng-dev \ libpng-dev \
libzip-dev \
libjpeg-turbo-dev \ libjpeg-turbo-dev \
openldap-dev \ openldap-dev \
oniguruma-dev \
imap-dev \ imap-dev \
postgresql-dev && \ postgresql-dev && \
apk add --no-cache netcat-openbsd bash apk add --no-cache netcat-openbsd bash
# Install PHP Plugins # Install PHP Plugins
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr ; \ docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-imap-ssl && \ docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \ docker-php-ext-install \
gd \ gd \

View File

@@ -11,15 +11,12 @@ DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-} DB_PASSWORD=${DB_PASSWORD:-}
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
ADMIN_USER=${ADMIN_USER:-'admin'} ADMIN_USER=${ADMIN_USER:-'admin'}
ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-} ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'} URL_FORMAT=${URL_FORMAT:-'path'}
@@ -90,6 +87,9 @@ return array(
'rules' => array(), 'rules' => array(),
'showScriptName' => true, 'showScriptName' => true,
), ),
'request' => array(
'baseUrl' => '$BASE_URL',
),
), ),
'config'=>array( 'config'=>array(
'publicurl'=>'$PUBLIC_URL', 'publicurl'=>'$PUBLIC_URL',
@@ -102,27 +102,6 @@ EOF
fi fi
# Check if security config already provisioned
if [ -f application/config/security.php ]; then
echo 'Info: security.php already provisioned'
else
echo 'Info: Creating security.php'
if [ ! -z "$ENCRYPT_KEYPAIR" ]; then
cat <<EOF > application/config/security.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
\$config = array();
\$config['encryptionkeypair'] = '$ENCRYPT_KEYPAIR';
\$config['encryptionpublickey'] = '$ENCRYPT_PUBLIC_KEY';
\$config['encryptionsecretkey'] = '$ENCRYPT_SECRET_KEY';
return \$config;
EOF
else
echo >&2 'Warning: No encryption keys were provided'
echo >&2 'Warning: A security.php config will be created by the application'
echo >&2 'Warning: THIS FILE NEEDS TO BE PERSISTENT'
fi
fi
# Check if LimeSurvey database is provisioned # Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.' echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'

View File

@@ -1,7 +1,7 @@
FROM php:7.2-fpm FROM php:7.4-fpm
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
ARG version='3.22.29+200731' ARG version='3.25.1+201124'
ARG sha256_checksum='264f64767b20734aa588a0fd009e94a1a3804773a6a37510ec9b4e142a9ad055' ARG sha256_checksum='a735501e282ea4a98a0b68044c2de11f300b796c74e3a36900c23d86aaad24fb'
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
@@ -12,11 +12,13 @@ RUN set -ex; \
libldap2-dev \ libldap2-dev \
libfreetype6-dev \ libfreetype6-dev \
libjpeg-dev \ libjpeg-dev \
libonig-dev \
zlib1g-dev \ zlib1g-dev \
libc-client-dev \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libzip-dev \
netcat \ netcat \
\ \
&& apt-get -y autoclean; apt-get -y autoremove; \ && apt-get -y autoclean; apt-get -y autoremove; \
@@ -28,7 +30,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \ docker-php-ext-install -j5 \
exif \ exif \

View File

@@ -11,15 +11,12 @@ DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-} DB_PASSWORD=${DB_PASSWORD:-}
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
ADMIN_USER=${ADMIN_USER:-'admin'} ADMIN_USER=${ADMIN_USER:-'admin'}
ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-} ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'} URL_FORMAT=${URL_FORMAT:-'path'}
@@ -90,6 +87,9 @@ return array(
'rules' => array(), 'rules' => array(),
'showScriptName' => true, 'showScriptName' => true,
), ),
'request' => array(
'baseUrl' => '$BASE_URL',
),
), ),
'config'=>array( 'config'=>array(
'publicurl'=>'$PUBLIC_URL', 'publicurl'=>'$PUBLIC_URL',
@@ -102,27 +102,6 @@ EOF
fi fi
# Check if security config already provisioned
if [ -f application/config/security.php ]; then
echo 'Info: security.php already provisioned'
else
echo 'Info: Creating security.php'
if [ ! -z "$ENCRYPT_KEYPAIR" ]; then
cat <<EOF > application/config/security.php
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
\$config = array();
\$config['encryptionkeypair'] = '$ENCRYPT_KEYPAIR';
\$config['encryptionpublickey'] = '$ENCRYPT_PUBLIC_KEY';
\$config['encryptionsecretkey'] = '$ENCRYPT_SECRET_KEY';
return \$config;
EOF
else
echo >&2 'Warning: No encryption keys were provided'
echo >&2 'Warning: A security.php config will be created by the application'
echo >&2 'Warning: THIS FILE NEEDS TO BE PERSISTENT'
fi
fi
# Check if LimeSurvey database is provisioned # Check if LimeSurvey database is provisioned
echo 'Info: Check if database already provisioned. Nevermind the Stack trace.' echo 'Info: Check if database already provisioned. Nevermind the Stack trace.'

View File

@@ -1,7 +1,7 @@
FROM php:7.2-apache FROM php:7.4-apache
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
ARG version='4.3.6+200727' ARG version='4.3.27+201116'
ARG sha256_checksum='cfed1776f12679ff80c7bb873fc1a5b3e617eabf35e7c32f8ff9366d34b67446' ARG sha256_checksum='11273c6feaa3beca6f63f8c3c79b1cba56f2271d87ca0bf249e1ece2e951abfb'
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
@@ -12,11 +12,13 @@ RUN set -ex; \
libldap2-dev \ libldap2-dev \
libfreetype6-dev \ libfreetype6-dev \
libjpeg-dev \ libjpeg-dev \
libonig-dev \
zlib1g-dev \ zlib1g-dev \
libc-client-dev \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libzip-dev \
netcat \ netcat \
curl \ curl \
\ \
@@ -29,7 +31,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \ docker-php-ext-install -j5 \
exif \ exif \

View File

@@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-} ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'} URL_FORMAT=${URL_FORMAT:-'path'}
@@ -90,6 +91,9 @@ return array(
'rules' => array(), 'rules' => array(),
'showScriptName' => true, 'showScriptName' => true,
), ),
'request' => array(
'baseUrl' => '$BASE_URL',
),
), ),
'config'=>array( 'config'=>array(
'publicurl'=>'$PUBLIC_URL', 'publicurl'=>'$PUBLIC_URL',

View File

@@ -1,22 +1,24 @@
FROM php:7.2-fpm-alpine FROM php:7.4-fpm-alpine
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
ARG version='4.3.6+200727' ARG version='4.3.27+201116'
ARG sha256_checksum='cfed1776f12679ff80c7bb873fc1a5b3e617eabf35e7c32f8ff9366d34b67446' ARG sha256_checksum='11273c6feaa3beca6f63f8c3c79b1cba56f2271d87ca0bf249e1ece2e951abfb'
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .build-deps \ apk add --no-cache --virtual .build-deps \
freetype-dev \ freetype-dev \
libpng-dev \ libpng-dev \
libzip-dev \
libjpeg-turbo-dev \ libjpeg-turbo-dev \
openldap-dev \ openldap-dev \
oniguruma-dev \
imap-dev \ imap-dev \
postgresql-dev && \ postgresql-dev && \
apk add --no-cache netcat-openbsd bash apk add --no-cache netcat-openbsd bash
# Install PHP Plugins # Install PHP Plugins
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr ; \ docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-imap-ssl && \ docker-php-ext-configure imap --with-imap-ssl && \
docker-php-ext-install \ docker-php-ext-install \
exif \ exif \

View File

@@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-} ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'} URL_FORMAT=${URL_FORMAT:-'path'}
@@ -90,6 +91,9 @@ return array(
'rules' => array(), 'rules' => array(),
'showScriptName' => true, 'showScriptName' => true,
), ),
'request' => array(
'baseUrl' => '$BASE_URL',
),
), ),
'config'=>array( 'config'=>array(
'publicurl'=>'$PUBLIC_URL', 'publicurl'=>'$PUBLIC_URL',

View File

@@ -1,7 +1,7 @@
FROM php:7.2-fpm FROM php:7.4-fpm
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
ARG version='4.3.6+200727' ARG version='4.3.27+201116'
ARG sha256_checksum='cfed1776f12679ff80c7bb873fc1a5b3e617eabf35e7c32f8ff9366d34b67446' ARG sha256_checksum='11273c6feaa3beca6f63f8c3c79b1cba56f2271d87ca0bf249e1ece2e951abfb'
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
@@ -12,11 +12,13 @@ RUN set -ex; \
libldap2-dev \ libldap2-dev \
libfreetype6-dev \ libfreetype6-dev \
libjpeg-dev \ libjpeg-dev \
libonig-dev \
zlib1g-dev \ zlib1g-dev \
libc-client-dev \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libzip-dev \
netcat \ netcat \
\ \
&& apt-get -y autoclean; apt-get -y autoremove; \ && apt-get -y autoclean; apt-get -y autoremove; \
@@ -28,7 +30,7 @@ RUN set -ex; \
# Install PHP Plugins and Configure PHP imap plugin # Install PHP Plugins and Configure PHP imap plugin
RUN set -ex; \ RUN set -ex; \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd && \
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j5 \ docker-php-ext-install -j5 \
exif \ exif \

View File

@@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'}
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
ADMIN_PASSWORD=${ADMIN_PASSWORD:-} ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
URL_FORMAT=${URL_FORMAT:-'path'} URL_FORMAT=${URL_FORMAT:-'path'}
@@ -90,6 +91,9 @@ return array(
'rules' => array(), 'rules' => array(),
'showScriptName' => true, 'showScriptName' => true,
), ),
'request' => array(
'baseUrl' => '$BASE_URL',
),
), ),
'config'=>array( 'config'=>array(
'publicurl'=>'$PUBLIC_URL', 'publicurl'=>'$PUBLIC_URL',

View File

@@ -4,23 +4,27 @@ Every Pull Request is welcome.
## Upgrading the Version ## Upgrading the Version
To upgrade the LimeSurvey Version the ARG variable needs to be changed. The versions in this repository should correspond to the [GitHub LimeSurvey Releases](https://github.com/LimeSurvey/LimeSurvey/releases)
To update the version, simply update ARG variables for version and corresponding checksum:
```bash ```bash
$ grep Agrep ARG apache/Dockerfile # Version from GitHub Tags
ARG version='3.7.0+180418' # sha256 of tar.gz from GitHub Releases
$ grep ARG 4.0/apache/Dockerfile
ARG version='4.3.13+200824'
ARG sha256_checksum='4e9c6f20e'
``` ```
Since this is a reoccuring and boring task, a script is provided. It is best to use the upgrade shell script:
```bash ```bash
# Dependencies ./upgrade.sh 4.3.13+200824
python3 -m venv .venv # Check if sha256 is correct
source .venv/bin/activate
pip3 install -r requirements.txt
# Upgrades to latest Limesurvey version git add 4.0/ && git commit -m 'Upgrading to Version 4.3.13+200824'
./upgrade.py git tag 4.3.13+200824
``` ```
## Testing ## Testing

View File

@@ -5,23 +5,38 @@
Dockerfile to build a [LimeSurvey](https://limesurvey.org) Image for the Docker container platform. Dockerfile to build a [LimeSurvey](https://limesurvey.org) Image for the Docker container platform.
# Using the apache image ## Quick reference
- **Maintained by:** https://github.com/martialblog/
- **Where to get help:** [GitHub Issues](https://github.com/martialblog/docker-limesurvey/issues)
## 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-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-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. The apache image comes with an Apache Webserver and PHP installed.
# Apache Configuration ## Apache Configuration
To change to Apache Webserver configuration, mount a Volume into the Container at: To change to Apache Webserver configuration, mount a Volume into the Container at:
- /etc/apache2/sites-available/000-default.conf - `/etc/apache2/sites-available/000-default.conf`
See the example configuration provided. See the example configuration provided.
# Using the fpm image # 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. 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.
# Using the fpm image with https ## Using the fpm Image with HTTPS
If you would like to run the fpm setup with https, you can get a free certificate from Letsencrypt. As an example, the configuration in *docker-compose.fpm-certbot.yml* If you would like to run the fpm setup with https, you can get a free certificate from Letsencrypt. As an example, the configuration in *docker-compose.fpm-certbot.yml*
will take care of getting a certificate and installing it. Please note that you will have to adjust the domain name in the file *examples/nginx-certbot.conf* to match will take care of getting a certificate and installing it. Please note that you will have to adjust the domain name in the file *examples/nginx-certbot.conf* to match
the domain used in the *HOSTNAMES* variable in the docker-compose configuration file. If you added both the a domain and the hostname *www* within the domain, the domain used in the *HOSTNAMES* variable in the docker-compose configuration file. If you added both the a domain and the hostname *www* within the domain,
@@ -36,11 +51,11 @@ LimeSurvey requires an external database (MySQL, PostgreSQL) to run. See *docker
To preserve the uploaded files assign the upload folder into a volume. See *docker-compose.yml* for example. To preserve the uploaded files assign the upload folder into a volume. See *docker-compose.yml* for example.
Path: */var/www/html/upload/surveys* Path: `/var/www/html/upload/surveys`
**Hint**: The mounted directory must be owned by the webserver user (e.g. www-data) **Hint**: The mounted directory must be owned by the webserver user (e.g. www-data)
# LimeSurvey Configuration # LimeSurvey configuration
The entrypoint will create a new config.php if none is provided and run the LimeSurvey command line interface for installation. The entrypoint will create a new config.php if none is provided and run the LimeSurvey command line interface for installation.
@@ -48,20 +63,31 @@ The entrypoint will create a new config.php if none is provided and run the Lime
To change to LimeSurvey configuration, you can mount a Volume into the Container at: To change to LimeSurvey configuration, you can mount a Volume into the Container at:
- /my-data/config.php:/var/www/html/application/config/config.php - `/my-data/config.php:/var/www/html/application/config/config.php`
**Hint**: If this configuration is present before the installation, the LimeSurvey Web Installer will not run automatically. **Hint**: If this configuration is present before the installation, the LimeSurvey Web Installer will not run automatically.
## Data Encryption ## Data encryption
LimeSurvey 4 supports data encryption, this image give you these options: LimeSurvey 4 supports data encryption, this image give you these options:
* Provide a security.php file directly (volume) * Provide a security.php file directly (volume)
* Provide encryption keys for the security.php file (environment variables) * Provide encryption keys for the `security.php` file (environment variables)
* Provide nothing and get a non-persistent security.php file * Provide nothing and get a non-persistent `security.php` file
For further details on the settings see: https://manual.limesurvey.org/Data_encryption For further details on the settings see: https://manual.limesurvey.org/Data_encryption
# Reverse Proxy configuration
## Traefik example
```
# BASE_URL = /limesurvey
"traefik.http.routers.limesurvey.rule=PathPrefix(`/limesurvey`)",
"traefik.http.routers.limesurvey.middlewares=strip-limesurvey@docker",
"traefik.http.middlewares.strip-limesurvey.stripprefix.prefixes=/limesurvey",
```
# Environment Variables # Environment Variables
| Parameter | Description | | Parameter | Description |
@@ -79,16 +105,17 @@ For further details on the settings see: https://manual.limesurvey.org/Data_encr
| ADMIN_EMAIL | Initial LimeSurvey Admin Email | | ADMIN_EMAIL | Initial LimeSurvey Admin Email |
| ADMIN_PASSWORD | Initial LimeSurvey Admin Password | | ADMIN_PASSWORD | Initial LimeSurvey Admin Password |
| PUBLIC_URL | Public URL for public scripts | | PUBLIC_URL | Public URL for public scripts |
| BASE_URL | Application Base URL |
| URL_FORMAT | URL Format. path or get | | URL_FORMAT | URL Format. path or get |
| DEBUG | Debug level (0, 1, 2). Default: 0 | | DEBUG | Debug level (0, 1, 2). Default: 0 |
| DEBUG_SQL | SQL Debug level (0, 1, 2). Default 0 | | DEBUG_SQL | SQL Debug level (0, 1, 2). Default 0 |
| ENCRYPT_KEYPAIR | Data encryption keypair | | ENCRYPT_KEYPAIR | Data encryption keypair |
| ENCRYPT_PUBLIC_KEY | Data encryption public key | | ENCRYPT_PUBLIC_KEY | Data encryption public key |
| ENCRYPY_SECRET_KEY | Data encryption secret key | | ENCRYPT_SECRET_KEY | Data encryption secret key |
For further details on the settings see: https://manual.limesurvey.org/Optional_settings#Advanced_Path_Settings For further details on the settings see: https://manual.limesurvey.org/Optional_settings#Advanced_Path_Settings
# Running this image with docker-compose # Running this Image with docker-compose
The easiest way to get a fully featured and functional setup is using a docker-compose file. Several examples are provided in the [repository](https://github.com/martialblog/docker-limesurvey). The easiest way to get a fully featured and functional setup is using a docker-compose file. Several examples are provided in the [repository](https://github.com/martialblog/docker-limesurvey).

View File

@@ -6,7 +6,7 @@ services:
environment: environment:
- DB_TYPE=pgsql - DB_TYPE=pgsql
- DB_PORT=5432 - DB_PORT=5432
- DB_HOST=limesurvey_db_1.limesurvey_default - DB_HOST=db
- DB_PASSWORD=example - DB_PASSWORD=example
- DB_NAME=limesurvey - DB_NAME=limesurvey
- DB_USERNAME=limesurvey - DB_USERNAME=limesurvey

View File

@@ -12,7 +12,7 @@ services:
depends_on: depends_on:
- lime-db - lime-db
environment: environment:
- "DB_HOST=docker-limesurvey_lime-db_1" - "DB_HOST=lime-db"
- "DB_PASSWORD=secret" - "DB_PASSWORD=secret"
- "ADMIN_PASSWORD=foobar" - "ADMIN_PASSWORD=foobar"
lime-web: lime-web:

View File

@@ -12,7 +12,7 @@ services:
depends_on: depends_on:
- lime-db - lime-db
environment: environment:
- "DB_HOST=docker-limesurvey_lime-db_1" - "DB_HOST=lime-db"
- "DB_PASSWORD=secret" - "DB_PASSWORD=secret"
- "ADMIN_PASSWORD=foobar" - "ADMIN_PASSWORD=foobar"
lime-web: lime-web:

View File

@@ -15,7 +15,7 @@ services:
environment: environment:
- "DB_TYPE=pgsql" - "DB_TYPE=pgsql"
- "DB_PORT=5432" - "DB_PORT=5432"
- "DB_HOST=docker-limesurvey_lime-db_1" - "DB_HOST=lime-db"
- "DB_PASSWORD=secret" - "DB_PASSWORD=secret"
- "ADMIN_PASSWORD=foobar" - "ADMIN_PASSWORD=foobar"
lime-db: lime-db:

View File

@@ -13,7 +13,7 @@ services:
ports: ports:
- "8080:80" - "8080:80"
environment: environment:
- "DB_HOST=docker-limesurvey_lime-db_1" - "DB_HOST=lime-db"
- "DB_PASSWORD=secret" - "DB_PASSWORD=secret"
- "ADMIN_PASSWORD=foobar" - "ADMIN_PASSWORD=foobar"
lime-db: lime-db:

View File

@@ -1,14 +1,14 @@
.PHONY: apache fpm fpm-alpine .PHONY: apache fpm fpm-alpine
apache: apache3:
docker build --pull -t limesurvey:apache 3.0/apache docker build --pull -t martialblog/limesurvey:3-apache 3.0/apache
apache4: apache4:
docker build --pull -t limesurvey:apache 4.0/apache docker build --pull -t martialblog/limesurvey:4-apache 4.0/apache
fpm-alpine: fpm-alpine3:
docker build --pull -t limesurvey:fpm-alpine 3.0/fpm-alpine docker build --pull -t martialblog/limesurvey:3-fpm-alpine 3.0/fpm-alpine
fpm-alpine4: fpm-alpine4:
docker build --pull -t limesurvey:fpm-alpine 4.0/fpm-alpine docker build --pull -t martialblog/limesurvey:4-fpm-alpine 4.0/fpm-alpine
fpm: fpm3:
docker build --pull -t limesurvey:fpm 3.0/fpm docker build --pull -t martialblog/limesurvey:3-fpm 3.0/fpm
fpm4: fpm4:
docker build --pull -t limesurvey:fpm 4.0/fpm docker build --pull -t martialblog/limesurvey:4-fpm 4.0/fpm

View File

@@ -31,3 +31,5 @@ sed -r -i -e "s/[0-9]+(\.[0-9]+)+\+[0-9]+/$NEW_VERSION/" $MAJOR_VERSION/apache/D
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 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 # After that, check and commit
echo "git add 3.0 ; git commit -m 'Upgrading to LTS Version ${NEW_VERSION}' && git tag ${NEW_VERSION}"
echo "git add 4.0 ; git commit -m 'Upgrading to Version ${NEW_VERSION}' && git tag ${NEW_VERSION}"