Compare commits

...

19 Commits

Author SHA1 Message Date
Markus Opolka
dfa75801ca Upgrading to Version 6.1.7+230710 2023-07-21 05:43:37 +02:00
Markus Opolka
29f016d75d Upgrading to LTS Version 5.6.30+230711 2023-07-21 05:43:12 +02:00
Markus Opolka
b476026121 Upgrading to Version 6.1.6+230703 2023-07-11 08:33:47 +02:00
Markus Opolka
200585ed62 Upgrading to LTS Version 5.6.29+230704 2023-07-11 08:31:17 +02:00
Markus Opolka
b281762fd1 Merge pull request #156 from martialblog/feature/file-env
Add support for secrets in files
2023-07-11 08:29:36 +02:00
Markus Opolka
ecb0c6b188 Merge pull request #158 from martialblog/feature/ldapslibs
Add OS libraries for ldaps
2023-07-11 08:29:11 +02:00
Markus Opolka
6b109ed5bb Add OS libraries for ldaps 2023-07-09 12:09:45 +02:00
Markus Opolka
eca133264d Upgrading to Version 6.1.5+230626 2023-07-04 08:56:03 +02:00
Markus Opolka
98f042dea9 Upgrading to LTS Version 5.6.28+230627 2023-07-04 08:55:36 +02:00
Markus Opolka
749137e69c Add support for secrets in files 2023-06-28 17:11:56 +02:00
Markus Opolka
56238f9aa7 Upgrading to Version 6.1.4+230620 2023-06-28 16:41:31 +02:00
Markus Opolka
0cda131e2c Upgrading to LTS Version 5.6.27+230621 2023-06-28 16:41:00 +02:00
Markus Opolka
9ad9054c3a Merge pull request #155 from martialblog/fix/nc-pkg-name
Fix netcat package name
2023-06-28 16:40:04 +02:00
Markus Opolka
b0eabe4f28 Downgrade to PHP 8.0
- There were issues with PHP extensions not being installed
2023-06-28 16:38:45 +02:00
Markus Opolka
dfefb689e8 Fix netcat package name 2023-06-28 16:38:43 +02:00
Markus Opolka
1ab5496e40 Upgrading to LTS Version 5.6.26+230613 2023-06-22 08:28:45 +02:00
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
13 changed files with 207 additions and 75 deletions

View File

@@ -5,7 +5,9 @@ LABEL maintainer="markus@martialblog.de"
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
netcat \ netcat-openbsd \
libldap-common \
libsasl2-modules \
; \ ; \
\ \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
@@ -79,8 +81,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="5.6.24+230531" ARG version="5.6.30+230711"
ARG sha256_checksum="e0c3a9b03bff1179b01ea88028d7bd21f617d78417f0db7249290056b8e5898b" ARG sha256_checksum="663ddfed95cdaffab8eb4f3e4d91fb6ae93f5203834f4abeba3cbf11cbb4eacb"
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

@@ -1,6 +1,23 @@
#!/bin/bash #!/bin/bash
# Entrypoint for Docker Container # Entrypoint for Docker Container
file_env() {
local v="$1"
local fv="${v}_FILE"
local default="${2:-}"
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
echo >&2 "$v and $fv are exclusive"
exit 1
fi
local val="$default"
if [ "${!v:-}" ]; then
val="${!v}"
elif [ "${!fv:-}" ]; then
val="$(< "${!fv}")"
fi
export "$v"="$val"
unset "$fv"
}
DB_TYPE=${DB_TYPE:-'mysql'} DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'} DB_HOST=${DB_HOST:-'mysql'}
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'} DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'} DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
file_env 'DB_PASSWORD'
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-} file_env 'ENCRYPT_KEYPAIR'
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-} file_env 'ENCRYPT_PUBLIC_KEY'
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-} file_env 'ENCRYPT_SECRET_KEY'
ENCRYPT_NONCE=${ENCRYPT_NONCE:-} file_env 'ENCRYPT_NONCE'
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-} file_env 'ENCRYPT_SECRET_BOX_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:-} file_env 'ADMIN_PASSWORD'
BASE_URL=${BASE_URL:-} BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
@@ -35,12 +52,12 @@ DEBUG_SQL=${DEBUG_SQL:-0}
LISTEN_PORT=${LISTEN_PORT:-"8080"} LISTEN_PORT=${LISTEN_PORT:-"8080"}
if [ -z "$DB_PASSWORD" ]; then if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD' echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
exit 1 exit 1
fi fi
if [ -z "$ADMIN_PASSWORD" ]; then if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD' echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
exit 1 exit 1
fi fi

View File

@@ -2,7 +2,12 @@ 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 RUN set -ex; \
apk add --no-cache \
netcat-openbsd \
libsasl \
libldap \
bash
# Install PHP Plugins # Install PHP Plugins
# hadolint ignore=SC2086 # hadolint ignore=SC2086
@@ -46,8 +51,8 @@ RUN set -ex; \
apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \ apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \
apk del --no-cache --no-network .build-deps apk del --no-cache --no-network .build-deps
ARG version="5.6.24+230531" ARG version="5.6.30+230711"
ARG sha256_checksum="e0c3a9b03bff1179b01ea88028d7bd21f617d78417f0db7249290056b8e5898b" ARG sha256_checksum="663ddfed95cdaffab8eb4f3e4d91fb6ae93f5203834f4abeba3cbf11cbb4eacb"
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

@@ -1,6 +1,23 @@
#!/bin/bash #!/bin/bash
# Entrypoint for Docker Container # Entrypoint for Docker Container
file_env() {
local v="$1"
local fv="${v}_FILE"
local default="${2:-}"
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
echo >&2 "$v and $fv are exclusive"
exit 1
fi
local val="$default"
if [ "${!v:-}" ]; then
val="${!v}"
elif [ "${!fv:-}" ]; then
val="$(< "${!fv}")"
fi
export "$v"="$val"
unset "$fv"
}
DB_TYPE=${DB_TYPE:-'mysql'} DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'} DB_HOST=${DB_HOST:-'mysql'}
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'} DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'} DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
file_env 'DB_PASSWORD'
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-} file_env 'ENCRYPT_KEYPAIR'
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-} file_env 'ENCRYPT_PUBLIC_KEY'
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-} file_env 'ENCRYPT_SECRET_KEY'
ENCRYPT_NONCE=${ENCRYPT_NONCE:-} file_env 'ENCRYPT_NONCE'
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-} file_env 'ENCRYPT_SECRET_BOX_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:-} file_env 'ADMIN_PASSWORD'
BASE_URL=${BASE_URL:-} BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
DEBUG_SQL=${DEBUG_SQL:-0} DEBUG_SQL=${DEBUG_SQL:-0}
if [ -z "$DB_PASSWORD" ]; then if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD' echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
exit 1 exit 1
fi fi
if [ -z "$ADMIN_PASSWORD" ]; then if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD' echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
exit 1 exit 1
fi fi

View File

@@ -5,7 +5,9 @@ LABEL maintainer="markus@martialblog.de"
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
netcat \ netcat-openbsd \
libldap-common \
libsasl2-modules \
; \ ; \
\ \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
@@ -66,8 +68,8 @@ RUN set -ex; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
ARG version="5.6.24+230531" ARG version="5.6.30+230711"
ARG sha256_checksum="e0c3a9b03bff1179b01ea88028d7bd21f617d78417f0db7249290056b8e5898b" ARG sha256_checksum="663ddfed95cdaffab8eb4f3e4d91fb6ae93f5203834f4abeba3cbf11cbb4eacb"
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

@@ -1,6 +1,23 @@
#!/bin/bash #!/bin/bash
# Entrypoint for Docker Container # Entrypoint for Docker Container
file_env() {
local v="$1"
local fv="${v}_FILE"
local default="${2:-}"
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
echo >&2 "$v and $fv are exclusive"
exit 1
fi
local val="$default"
if [ "${!v:-}" ]; then
val="${!v}"
elif [ "${!fv:-}" ]; then
val="$(< "${!fv}")"
fi
export "$v"="$val"
unset "$fv"
}
DB_TYPE=${DB_TYPE:-'mysql'} DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'} DB_HOST=${DB_HOST:-'mysql'}
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'} DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'} DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
file_env 'DB_PASSWORD'
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-} file_env 'ENCRYPT_KEYPAIR'
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-} file_env 'ENCRYPT_PUBLIC_KEY'
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-} file_env 'ENCRYPT_SECRET_KEY'
ENCRYPT_NONCE=${ENCRYPT_NONCE:-} file_env 'ENCRYPT_NONCE'
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-} file_env 'ENCRYPT_SECRET_BOX_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:-} file_env 'ADMIN_PASSWORD'
BASE_URL=${BASE_URL:-} BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
DEBUG_SQL=${DEBUG_SQL:-0} DEBUG_SQL=${DEBUG_SQL:-0}
if [ -z "$DB_PASSWORD" ]; then if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD' echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
exit 1 exit 1
fi fi
if [ -z "$ADMIN_PASSWORD" ]; then if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD' echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
exit 1 exit 1
fi fi

View File

@@ -1,11 +1,13 @@
FROM docker.io/php:8.1-apache FROM docker.io/php:8.0-apache
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
netcat \ netcat-openbsd \
libldap-common \
libsasl2-modules \
; \ ; \
\ \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
@@ -79,8 +81,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.7+230515" ARG version="6.1.7+230710"
ARG sha256_checksum="de13467a4963d9759bd24300b5bd5b07f3149b0a62943180afaadfbd0513fef7" ARG sha256_checksum="7e6a04e51cca85eb15c8db543c475227997c048347be8793d8314d71a1246ca3"
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

@@ -1,6 +1,23 @@
#!/bin/bash #!/bin/bash
# Entrypoint for Docker Container # Entrypoint for Docker Container
file_env() {
local v="$1"
local fv="${v}_FILE"
local default="${2:-}"
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
echo >&2 "$v and $fv are exclusive"
exit 1
fi
local val="$default"
if [ "${!v:-}" ]; then
val="${!v}"
elif [ "${!fv:-}" ]; then
val="$(< "${!fv}")"
fi
export "$v"="$val"
unset "$fv"
}
DB_TYPE=${DB_TYPE:-'mysql'} DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'} DB_HOST=${DB_HOST:-'mysql'}
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'} DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'} DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
file_env 'DB_PASSWORD'
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-} file_env 'ENCRYPT_KEYPAIR'
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-} file_env 'ENCRYPT_PUBLIC_KEY'
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-} file_env 'ENCRYPT_SECRET_KEY'
ENCRYPT_NONCE=${ENCRYPT_NONCE:-} file_env 'ENCRYPT_NONCE'
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-} file_env 'ENCRYPT_SECRET_BOX_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:-} file_env 'ADMIN_PASSWORD'
BASE_URL=${BASE_URL:-} BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
@@ -35,12 +52,12 @@ DEBUG_SQL=${DEBUG_SQL:-0}
LISTEN_PORT=${LISTEN_PORT:-"8080"} LISTEN_PORT=${LISTEN_PORT:-"8080"}
if [ -z "$DB_PASSWORD" ]; then if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD' echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
exit 1 exit 1
fi fi
if [ -z "$ADMIN_PASSWORD" ]; then if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD' echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
exit 1 exit 1
fi fi

View File

@@ -1,8 +1,13 @@
FROM docker.io/php:8.1-fpm-alpine 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 RUN set -ex; \
apk add --no-cache \
netcat-openbsd \
libsasl \
libldap \
bash
# Install PHP Plugins # Install PHP Plugins
# hadolint ignore=SC2086 # hadolint ignore=SC2086
@@ -46,8 +51,8 @@ RUN set -ex; \
apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \ apk add --no-cache --no-network --virtual .limesurvey-phpext-rundeps $runDeps; \
apk del --no-cache --no-network .build-deps apk del --no-cache --no-network .build-deps
ARG version="6.0.7+230515" ARG version="6.1.7+230710"
ARG sha256_checksum="de13467a4963d9759bd24300b5bd5b07f3149b0a62943180afaadfbd0513fef7" ARG sha256_checksum="7e6a04e51cca85eb15c8db543c475227997c048347be8793d8314d71a1246ca3"
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

@@ -1,6 +1,23 @@
#!/bin/bash #!/bin/bash
# Entrypoint for Docker Container # Entrypoint for Docker Container
file_env() {
local v="$1"
local fv="${v}_FILE"
local default="${2:-}"
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
echo >&2 "$v and $fv are exclusive"
exit 1
fi
local val="$default"
if [ "${!v:-}" ]; then
val="${!v}"
elif [ "${!fv:-}" ]; then
val="$(< "${!fv}")"
fi
export "$v"="$val"
unset "$fv"
}
DB_TYPE=${DB_TYPE:-'mysql'} DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'} DB_HOST=${DB_HOST:-'mysql'}
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'} DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'} DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
file_env 'DB_PASSWORD'
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-} file_env 'ENCRYPT_KEYPAIR'
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-} file_env 'ENCRYPT_PUBLIC_KEY'
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-} file_env 'ENCRYPT_SECRET_KEY'
ENCRYPT_NONCE=${ENCRYPT_NONCE:-} file_env 'ENCRYPT_NONCE'
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-} file_env 'ENCRYPT_SECRET_BOX_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:-} file_env 'ADMIN_PASSWORD'
BASE_URL=${BASE_URL:-} BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
DEBUG_SQL=${DEBUG_SQL:-0} DEBUG_SQL=${DEBUG_SQL:-0}
if [ -z "$DB_PASSWORD" ]; then if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD' echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
exit 1 exit 1
fi fi
if [ -z "$ADMIN_PASSWORD" ]; then if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD' echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
exit 1 exit 1
fi fi

View File

@@ -1,11 +1,13 @@
FROM docker.io/php:8.1-fpm FROM docker.io/php:8.0-fpm
LABEL maintainer="markus@martialblog.de" LABEL maintainer="markus@martialblog.de"
# Install OS dependencies # Install OS dependencies
RUN set -ex; \ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends \
netcat \ netcat-openbsd \
libldap-common \
libsasl2-modules \
; \ ; \
\ \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
@@ -66,8 +68,8 @@ RUN set -ex; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
ARG version="6.0.7+230515" ARG version="6.1.7+230710"
ARG sha256_checksum="de13467a4963d9759bd24300b5bd5b07f3149b0a62943180afaadfbd0513fef7" ARG sha256_checksum="7e6a04e51cca85eb15c8db543c475227997c048347be8793d8314d71a1246ca3"
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

@@ -1,6 +1,23 @@
#!/bin/bash #!/bin/bash
# Entrypoint for Docker Container # Entrypoint for Docker Container
file_env() {
local v="$1"
local fv="${v}_FILE"
local default="${2:-}"
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
echo >&2 "$v and $fv are exclusive"
exit 1
fi
local val="$default"
if [ "${!v:-}" ]; then
val="${!v}"
elif [ "${!fv:-}" ]; then
val="$(< "${!fv}")"
fi
export "$v"="$val"
unset "$fv"
}
DB_TYPE=${DB_TYPE:-'mysql'} DB_TYPE=${DB_TYPE:-'mysql'}
DB_HOST=${DB_HOST:-'mysql'} DB_HOST=${DB_HOST:-'mysql'}
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
DB_NAME=${DB_NAME:-'limesurvey'} DB_NAME=${DB_NAME:-'limesurvey'}
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
DB_USERNAME=${DB_USERNAME:-'limesurvey'} DB_USERNAME=${DB_USERNAME:-'limesurvey'}
DB_PASSWORD=${DB_PASSWORD:-}
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'} DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
file_env 'DB_PASSWORD'
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-} file_env 'ENCRYPT_KEYPAIR'
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-} file_env 'ENCRYPT_PUBLIC_KEY'
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-} file_env 'ENCRYPT_SECRET_KEY'
ENCRYPT_NONCE=${ENCRYPT_NONCE:-} file_env 'ENCRYPT_NONCE'
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-} file_env 'ENCRYPT_SECRET_BOX_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:-} file_env 'ADMIN_PASSWORD'
BASE_URL=${BASE_URL:-} BASE_URL=${BASE_URL:-}
PUBLIC_URL=${PUBLIC_URL:-} PUBLIC_URL=${PUBLIC_URL:-}
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
DEBUG_SQL=${DEBUG_SQL:-0} DEBUG_SQL=${DEBUG_SQL:-0}
if [ -z "$DB_PASSWORD" ]; then if [ -z "$DB_PASSWORD" ]; then
echo >&2 'Error: Missing DB_PASSWORD' echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
exit 1 exit 1
fi fi
if [ -z "$ADMIN_PASSWORD" ]; then if [ -z "$ADMIN_PASSWORD" ]; then
echo >&2 'Error: Missing ADMIN_PASSWORD' echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
exit 1 exit 1
fi fi

View File

@@ -133,6 +133,18 @@ If you are running LimeSurvey behind a Reverse Proxy you might need some additio
| ENCRYPT_SECRET_BOX_KEY | Data encryption secret box key (used in 5.0 and higher) | | ENCRYPT_SECRET_BOX_KEY | Data encryption secret box key (used in 5.0 and higher) |
| LISTEN_PORT | Apache: Listen port. Default: 8080 | | LISTEN_PORT | Apache: Listen port. Default: 8080 |
Sensitive information can also be passed `_FILE` to the following environment variables to load the values from the given file path. Example `DB_PASSWORD_FILE=/run/secrets/db_password`.
```
DB_PASSWORD_FILE
ADMIN_PASSWORD_FILE
ENCRYPT_KEYPAIR_FILE
ENCRYPT_PUBLIC_KEY_FILE
ENCRYPT_SECRET_KEY_FILE
ENCRYPT_NONCE_FILE
ENCRYPT_SECRET_BOX_KEY_FILE
```
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 LimeSurvey with docker-compose # Running LimeSurvey with docker-compose