mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-06 16:39:11 +01:00
Compare commits
109 Commits
5.6.17-230
...
5.6.52-240
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e4facd925f | ||
|
|
80098d872b | ||
|
|
23f8264caa | ||
|
|
ef7111d27c | ||
|
|
73ff270819 | ||
|
|
b8ef3a9e7c | ||
|
|
73231ca1e2 | ||
|
|
121fa8db27 | ||
|
|
d7ce8fa25b | ||
|
|
930909ced0 | ||
|
|
7343b66cba | ||
|
|
55c7a955bc | ||
|
|
02e8715589 | ||
|
|
b19d599e78 | ||
|
|
98db5c64e9 | ||
|
|
cbc70e8d1f | ||
|
|
fbd0af36a9 | ||
|
|
cf6a81b1f0 | ||
|
|
7f9fb7c962 | ||
|
|
8b727d954f | ||
|
|
ef3fab259e | ||
|
|
e693a64bf5 | ||
|
|
b05e317c96 | ||
|
|
0744660347 | ||
|
|
96cc3ca3f7 | ||
|
|
c1ea856389 | ||
|
|
30ccc35721 | ||
|
|
6fd8b6983a | ||
|
|
15bdc9507e | ||
|
|
8cfc53adba | ||
|
|
7e73bf5223 | ||
|
|
e73940ecd8 | ||
|
|
487881f785 | ||
|
|
2c34e0fd73 | ||
|
|
98aa523b48 | ||
|
|
5b13fa3dd0 | ||
|
|
554a86cf2c | ||
|
|
97aa52b49e | ||
|
|
ee74cfbd89 | ||
|
|
38ea5d09ff | ||
|
|
2ef585ab53 | ||
|
|
195e017967 | ||
|
|
d53b6ed63d | ||
|
|
c40d1b648d | ||
|
|
bd14d877e5 | ||
|
|
5c95e13179 | ||
|
|
0e35341b7c | ||
|
|
469ca15cb5 | ||
|
|
4f8ea7c4f1 | ||
|
|
9c19d78e26 | ||
|
|
30cd0c51cc | ||
|
|
538f9837df | ||
|
|
8de96875af | ||
|
|
adbecadb0e | ||
|
|
d6270a9cad | ||
|
|
265b375fc1 | ||
|
|
9135f556f5 | ||
|
|
8ec394c7af | ||
|
|
acfd7b529d | ||
|
|
537c1e5313 | ||
|
|
1c108c70df | ||
|
|
42e521a759 | ||
|
|
432b17d255 | ||
|
|
215d95e43c | ||
|
|
03804c3b28 | ||
|
|
0639806b11 | ||
|
|
5ad9f7debc | ||
|
|
fb42a5ab24 | ||
|
|
7f0ad78dff | ||
|
|
46ce93f6a1 | ||
|
|
888b04c584 | ||
|
|
340d96e0cd | ||
|
|
7289e1b639 | ||
|
|
352fe09010 | ||
|
|
1bcf07c1c3 | ||
|
|
8b7d3f1beb | ||
|
|
dfa75801ca | ||
|
|
29f016d75d | ||
|
|
b476026121 | ||
|
|
200585ed62 | ||
|
|
b281762fd1 | ||
|
|
ecb0c6b188 | ||
|
|
6b109ed5bb | ||
|
|
eca133264d | ||
|
|
98f042dea9 | ||
|
|
749137e69c | ||
|
|
56238f9aa7 | ||
|
|
0cda131e2c | ||
|
|
9ad9054c3a | ||
|
|
b0eabe4f28 | ||
|
|
dfefb689e8 | ||
|
|
1ab5496e40 | ||
|
|
ab67bbc8c6 | ||
|
|
9ea27fd9fe | ||
|
|
4be9f37601 | ||
|
|
45f5178e3b | ||
|
|
f772b7a05f | ||
|
|
5c8cd4570a | ||
|
|
66f433e1d0 | ||
|
|
52ee67675a | ||
|
|
6d3bc51ebc | ||
|
|
0c28e5bbf9 | ||
|
|
23e6fa6f88 | ||
|
|
4e30695b0b | ||
|
|
f290fc7f1c | ||
|
|
20c1fafdf6 | ||
|
|
281cc199aa | ||
|
|
d15b0a2693 | ||
|
|
164767fe97 |
@@ -15,7 +15,7 @@ jobs:
|
||||
- 6.0/fpm-alpine/Dockerfile
|
||||
- 6.0/fpm/Dockerfile
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
- uses: hadolint/hadolint-action@v3.1.0
|
||||
with:
|
||||
dockerfile: ${{ matrix.dockerfile }}
|
||||
@@ -31,24 +31,24 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: 'Check out the repo'
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
- name: 'Set up QEMU'
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: 'arm64,arm'
|
||||
- name: 'Set up Docker Buildx'
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
buildkitd-flags: --debug
|
||||
- name: 'Log in to DockerHub'
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
||||
- name: 'Apache variant metadata'
|
||||
id: metadata-apache
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
docker.io/martialblog/limesurvey
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
latest=true
|
||||
suffix=-apache
|
||||
- name: 'Build and push latest Apache container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 6.0/apache
|
||||
push: true
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
|
||||
- name: 'FPM variant metadata'
|
||||
id: metadata-fpm
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
docker.io/martialblog/limesurvey
|
||||
@@ -80,7 +80,7 @@ jobs:
|
||||
latest=false
|
||||
suffix=-fpm
|
||||
- name: 'Build and push latest fpm container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 6.0/fpm
|
||||
push: true
|
||||
@@ -90,7 +90,7 @@ jobs:
|
||||
|
||||
- name: 'FPM Alpine variant metadata'
|
||||
id: metadata-fpm-alpine
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
docker.io/martialblog/limesurvey
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
latest=false
|
||||
suffix=-fpm-alpine
|
||||
- name: 'Build and push latest fpm-alpine container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 6.0/fpm-alpine
|
||||
push: true
|
||||
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
- 5.0/fpm-alpine/Dockerfile
|
||||
- 5.0/fpm/Dockerfile
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
- uses: hadolint/hadolint-action@v3.1.0
|
||||
with:
|
||||
dockerfile: ${{ matrix.dockerfile }}
|
||||
@@ -31,24 +31,24 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: 'Check out the repo'
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
- name: 'Set up QEMU'
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: 'arm64,arm'
|
||||
- name: 'Set up Docker Buildx'
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
buildkitd-flags: --debug
|
||||
- name: 'Log in to DockerHub'
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
||||
- name: 'Apache variant metadata'
|
||||
id: metadata-apache
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
docker.io/martialblog/limesurvey
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
latest=false
|
||||
suffix=-apache
|
||||
- name: 'Build and push LTS apache container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 5.0/apache
|
||||
push: true
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
|
||||
- name: 'FPM variant metadata'
|
||||
id: metadata-fpm
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
docker.io/martialblog/limesurvey
|
||||
@@ -80,7 +80,7 @@ jobs:
|
||||
latest=false
|
||||
suffix=-fpm
|
||||
- name: 'Build and push LTS fpm container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 5.0/fpm
|
||||
push: true
|
||||
@@ -90,7 +90,7 @@ jobs:
|
||||
|
||||
- name: 'FPM Alpine variant metadata'
|
||||
id: metadata-fpm-alpine
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
docker.io/martialblog/limesurvey
|
||||
@@ -101,7 +101,7 @@ jobs:
|
||||
latest=false
|
||||
suffix=-fpm-alpine
|
||||
- name: 'Build and push LTS fpm-alpine container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 5.0/fpm-alpine
|
||||
push: true
|
||||
|
||||
2
.github/workflows/lint-dockerfiles.yaml
vendored
2
.github/workflows/lint-dockerfiles.yaml
vendored
@@ -17,7 +17,7 @@ jobs:
|
||||
- 6.0/fpm/Dockerfile
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
- uses: hadolint/hadolint-action@v3.1.0
|
||||
with:
|
||||
dockerfile: ${{ matrix.dockerfile }}
|
||||
|
||||
@@ -22,18 +22,18 @@ jobs:
|
||||
- linux/arm64
|
||||
steps:
|
||||
- name: 'Check out the repo'
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
|
||||
- name: 'Set up QEMU'
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: 'arm64,arm'
|
||||
|
||||
- name: 'Set up Docker Buildx'
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 'Build Container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 6.0/${{ matrix.context }}
|
||||
push: false
|
||||
|
||||
@@ -14,18 +14,18 @@ jobs:
|
||||
- fpm
|
||||
steps:
|
||||
- name: 'Check out the repo'
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
|
||||
- name: 'Set up QEMU'
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
platforms: 'arm64,arm'
|
||||
|
||||
- name: 'Set up Docker Buildx'
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 'Build Container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 6.0/${{ matrix.context }}
|
||||
push: false
|
||||
|
||||
@@ -14,16 +14,16 @@ jobs:
|
||||
- fpm
|
||||
steps:
|
||||
- name: 'Check out the repo'
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||
|
||||
- name: 'Set up QEMU'
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
|
||||
- name: 'Set up Docker Buildx'
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 'Build Container images'
|
||||
uses: docker/build-push-action@v4
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: 5.0/${{ matrix.context }}
|
||||
push: false
|
||||
|
||||
@@ -3,10 +3,22 @@ LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends -y \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
netcat \
|
||||
; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install PHP Plugins and Configure PHP imap plugin
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libldap2-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg-dev \
|
||||
@@ -19,20 +31,13 @@ RUN set -ex; \
|
||||
libzip-dev \
|
||||
libtidy-dev \
|
||||
libsodium-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install -j5 \
|
||||
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 \
|
||||
@@ -44,7 +49,22 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
tidy \
|
||||
zip
|
||||
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
|
||||
RUN a2enmod headers rewrite remoteip; \
|
||||
@@ -59,8 +79,8 @@ RUN a2enmod headers rewrite remoteip; \
|
||||
# Use the default production configuration
|
||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||
|
||||
ARG version="3.28.56+230404"
|
||||
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228"
|
||||
ARG version="3.28.59+230517"
|
||||
ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG USER=root
|
||||
ARG LISTEN_PORT=80
|
||||
|
||||
@@ -2,6 +2,10 @@ FROM docker.io/php:8.0-fpm-alpine
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN apk add --no-cache netcat-openbsd bash
|
||||
|
||||
# Install PHP Plugins
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
freetype-dev \
|
||||
@@ -13,14 +17,13 @@ RUN set -ex; \
|
||||
openldap-dev \
|
||||
oniguruma-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-imap-ssl && \
|
||||
docker-php-ext-install \
|
||||
postgresql-dev \
|
||||
; \
|
||||
\
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||
docker-php-ext-configure imap --with-imap-ssl; \
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
exif \
|
||||
gd \
|
||||
imap \
|
||||
ldap \
|
||||
@@ -31,10 +34,20 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
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 sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228"
|
||||
ARG version="3.28.59+230517"
|
||||
ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -3,10 +3,22 @@ LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends -y \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
netcat \
|
||||
; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install PHP Plugins and Configure PHP imap plugin
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libldap2-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg-dev \
|
||||
@@ -19,20 +31,13 @@ RUN set -ex; \
|
||||
libzip-dev \
|
||||
libtidy-dev \
|
||||
libsodium-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install -j5 \
|
||||
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 \
|
||||
@@ -44,10 +49,25 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
tidy \
|
||||
zip
|
||||
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 sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228"
|
||||
ARG version="3.28.59+230517"
|
||||
ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -3,10 +3,24 @@ LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends -y \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
netcat-openbsd \
|
||||
libldap-common \
|
||||
libsasl2-modules \
|
||||
; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install PHP Plugins and Configure PHP imap plugin
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libldap2-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg-dev \
|
||||
@@ -19,21 +33,13 @@ RUN set -ex; \
|
||||
libzip-dev \
|
||||
libtidy-dev \
|
||||
libsodium-dev \
|
||||
netcat \
|
||||
curl \
|
||||
; \
|
||||
\
|
||||
&& 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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install -j5 \
|
||||
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 \
|
||||
@@ -45,7 +51,22 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
tidy \
|
||||
zip
|
||||
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
|
||||
RUN a2enmod headers rewrite remoteip; \
|
||||
@@ -60,9 +81,9 @@ RUN a2enmod headers rewrite remoteip; \
|
||||
# Use the default production configuration
|
||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||
|
||||
ARG version="5.6.17+230426"
|
||||
ARG sha256_checksum="dd1773d8c4bf03f66bc6e2d137b1c570bf8db02bfd6e85e5d6ce9927df6f277d"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG version="5.6.52+240123"
|
||||
ARG sha256_checksum="07c0167d5335fd5b897f756ee4a12798f3db523c48f219d90c8ad714bdac4c8d"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ARG LISTEN_PORT=8080
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 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_HOST=${DB_HOST:-'mysql'}
|
||||
@@ -9,19 +26,19 @@ 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:-}
|
||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||
file_env 'DB_PASSWORD'
|
||||
|
||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
||||
file_env 'ENCRYPT_KEYPAIR'
|
||||
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||
file_env 'ENCRYPT_SECRET_KEY'
|
||||
file_env 'ENCRYPT_NONCE'
|
||||
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||
|
||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
file_env 'ADMIN_PASSWORD'
|
||||
|
||||
BASE_URL=${BASE_URL:-}
|
||||
PUBLIC_URL=${PUBLIC_URL:-}
|
||||
@@ -35,12 +52,12 @@ DEBUG_SQL=${DEBUG_SQL:-0}
|
||||
LISTEN_PORT=${LISTEN_PORT:-"8080"}
|
||||
|
||||
if [ -z "$DB_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing DB_PASSWORD'
|
||||
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -136,7 +153,7 @@ if [ -f application/config/security.php ]; then
|
||||
echo 'Info: security.php already provisioned'
|
||||
else
|
||||
echo 'Info: Creating security.php'
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ]; then
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ] || [ -n "$ENCRYPT_SECRET_BOX_KEY" ]; then
|
||||
|
||||
cat <<EOF > application/config/security.php
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
@@ -2,6 +2,15 @@ FROM docker.io/php:8.0-fpm-alpine
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apk add --no-cache \
|
||||
netcat-openbsd \
|
||||
libsasl \
|
||||
libldap \
|
||||
bash
|
||||
|
||||
# Install PHP Plugins
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
freetype-dev \
|
||||
@@ -13,14 +22,12 @@ RUN set -ex; \
|
||||
openldap-dev \
|
||||
oniguruma-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-imap-ssl && \
|
||||
docker-php-ext-install \
|
||||
postgresql-dev \
|
||||
; \
|
||||
\
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||
docker-php-ext-configure imap --with-imap-ssl; \
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
exif \
|
||||
gd \
|
||||
imap \
|
||||
@@ -32,11 +39,21 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
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.17+230426"
|
||||
ARG sha256_checksum="dd1773d8c4bf03f66bc6e2d137b1c570bf8db02bfd6e85e5d6ce9927df6f277d"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG version="5.6.52+240123"
|
||||
ARG sha256_checksum="07c0167d5335fd5b897f756ee4a12798f3db523c48f219d90c8ad714bdac4c8d"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 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_HOST=${DB_HOST:-'mysql'}
|
||||
@@ -9,19 +26,19 @@ 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:-}
|
||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||
file_env 'DB_PASSWORD'
|
||||
|
||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
||||
file_env 'ENCRYPT_KEYPAIR'
|
||||
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||
file_env 'ENCRYPT_SECRET_KEY'
|
||||
file_env 'ENCRYPT_NONCE'
|
||||
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||
|
||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
file_env 'ADMIN_PASSWORD'
|
||||
|
||||
BASE_URL=${BASE_URL:-}
|
||||
PUBLIC_URL=${PUBLIC_URL:-}
|
||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||
|
||||
if [ -z "$DB_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing DB_PASSWORD'
|
||||
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
||||
echo 'Info: security.php already provisioned'
|
||||
else
|
||||
echo 'Info: Creating security.php'
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ]; then
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ] || [ -n "$ENCRYPT_SECRET_BOX_KEY" ]; then
|
||||
|
||||
cat <<EOF > application/config/security.php
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
@@ -3,10 +3,24 @@ LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends -y \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
netcat-openbsd \
|
||||
libldap-common \
|
||||
libsasl2-modules \
|
||||
; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install PHP Plugins and Configure PHP imap plugin
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libldap2-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg-dev \
|
||||
@@ -19,20 +33,13 @@ RUN set -ex; \
|
||||
libzip-dev \
|
||||
libtidy-dev \
|
||||
libsodium-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install -j5 \
|
||||
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 \
|
||||
@@ -44,11 +51,26 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
tidy \
|
||||
zip
|
||||
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.17+230426"
|
||||
ARG sha256_checksum="dd1773d8c4bf03f66bc6e2d137b1c570bf8db02bfd6e85e5d6ce9927df6f277d"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG version="5.6.52+240123"
|
||||
ARG sha256_checksum="07c0167d5335fd5b897f756ee4a12798f3db523c48f219d90c8ad714bdac4c8d"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 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_HOST=${DB_HOST:-'mysql'}
|
||||
@@ -9,19 +26,19 @@ 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:-}
|
||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||
file_env 'DB_PASSWORD'
|
||||
|
||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
||||
file_env 'ENCRYPT_KEYPAIR'
|
||||
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||
file_env 'ENCRYPT_SECRET_KEY'
|
||||
file_env 'ENCRYPT_NONCE'
|
||||
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||
|
||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
file_env 'ADMIN_PASSWORD'
|
||||
|
||||
BASE_URL=${BASE_URL:-}
|
||||
PUBLIC_URL=${PUBLIC_URL:-}
|
||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||
|
||||
if [ -z "$DB_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing DB_PASSWORD'
|
||||
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
||||
echo 'Info: security.php already provisioned'
|
||||
else
|
||||
echo 'Info: Creating security.php'
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ]; then
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ] || [ -n "$ENCRYPT_SECRET_BOX_KEY" ]; then
|
||||
|
||||
cat <<EOF > application/config/security.php
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
@@ -3,10 +3,24 @@ LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends -y \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
netcat-openbsd \
|
||||
libldap-common \
|
||||
libsasl2-modules \
|
||||
; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install PHP Plugins and Configure PHP imap plugin
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libldap2-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg-dev \
|
||||
@@ -19,21 +33,13 @@ RUN set -ex; \
|
||||
libzip-dev \
|
||||
libtidy-dev \
|
||||
libsodium-dev \
|
||||
netcat \
|
||||
curl \
|
||||
; \
|
||||
\
|
||||
&& 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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install -j5 \
|
||||
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 \
|
||||
@@ -45,7 +51,29 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
tidy \
|
||||
zip
|
||||
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; \
|
||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
||||
| awk '$3 ~ /^\/lib/ { print "/usr"$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
|
||||
RUN a2enmod headers rewrite remoteip; \
|
||||
@@ -60,9 +88,9 @@ RUN a2enmod headers rewrite remoteip; \
|
||||
# Use the default production configuration
|
||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||
|
||||
ARG version="6.0.2+230417"
|
||||
ARG sha256_checksum="34b8814c026e3510af7f4d12ba6a7a7e7bffb5f5d4b074de97051b0501a90b09"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG version="6.4.2+240115"
|
||||
ARG sha256_checksum="97fc7a2e0d56f607d089c2b1321ae821827cf16959161a10b5e3eb6ca633d429"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ARG LISTEN_PORT=8080
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 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_HOST=${DB_HOST:-'mysql'}
|
||||
@@ -9,19 +26,19 @@ 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:-}
|
||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||
file_env 'DB_PASSWORD'
|
||||
|
||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
||||
file_env 'ENCRYPT_KEYPAIR'
|
||||
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||
file_env 'ENCRYPT_SECRET_KEY'
|
||||
file_env 'ENCRYPT_NONCE'
|
||||
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||
|
||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
file_env 'ADMIN_PASSWORD'
|
||||
|
||||
BASE_URL=${BASE_URL:-}
|
||||
PUBLIC_URL=${PUBLIC_URL:-}
|
||||
@@ -35,12 +52,12 @@ DEBUG_SQL=${DEBUG_SQL:-0}
|
||||
LISTEN_PORT=${LISTEN_PORT:-"8080"}
|
||||
|
||||
if [ -z "$DB_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing DB_PASSWORD'
|
||||
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -136,7 +153,7 @@ if [ -f application/config/security.php ]; then
|
||||
echo 'Info: security.php already provisioned'
|
||||
else
|
||||
echo 'Info: Creating security.php'
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ]; then
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ] || [ -n "$ENCRYPT_SECRET_BOX_KEY" ]; then
|
||||
|
||||
cat <<EOF > application/config/security.php
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
@@ -2,6 +2,15 @@ FROM docker.io/php:8.1-fpm-alpine
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apk add --no-cache \
|
||||
netcat-openbsd \
|
||||
libsasl \
|
||||
libldap \
|
||||
bash
|
||||
|
||||
# Install PHP Plugins
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
apk add --no-cache --virtual .build-deps \
|
||||
freetype-dev \
|
||||
@@ -13,14 +22,12 @@ RUN set -ex; \
|
||||
openldap-dev \
|
||||
oniguruma-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-imap-ssl && \
|
||||
docker-php-ext-install \
|
||||
postgresql-dev \
|
||||
; \
|
||||
\
|
||||
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||
docker-php-ext-configure imap --with-imap-ssl; \
|
||||
docker-php-ext-install -j "$(nproc)" \
|
||||
exif \
|
||||
gd \
|
||||
imap \
|
||||
@@ -32,11 +39,21 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
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 sha256_checksum="34b8814c026e3510af7f4d12ba6a7a7e7bffb5f5d4b074de97051b0501a90b09"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG version="6.4.2+240115"
|
||||
ARG sha256_checksum="97fc7a2e0d56f607d089c2b1321ae821827cf16959161a10b5e3eb6ca633d429"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 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_HOST=${DB_HOST:-'mysql'}
|
||||
@@ -9,19 +26,19 @@ 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:-}
|
||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||
file_env 'DB_PASSWORD'
|
||||
|
||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
||||
file_env 'ENCRYPT_KEYPAIR'
|
||||
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||
file_env 'ENCRYPT_SECRET_KEY'
|
||||
file_env 'ENCRYPT_NONCE'
|
||||
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||
|
||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
file_env 'ADMIN_PASSWORD'
|
||||
|
||||
BASE_URL=${BASE_URL:-}
|
||||
PUBLIC_URL=${PUBLIC_URL:-}
|
||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||
|
||||
if [ -z "$DB_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing DB_PASSWORD'
|
||||
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
||||
echo 'Info: security.php already provisioned'
|
||||
else
|
||||
echo 'Info: Creating security.php'
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ]; then
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ] || [ -n "$ENCRYPT_SECRET_BOX_KEY" ]; then
|
||||
|
||||
cat <<EOF > application/config/security.php
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
@@ -3,10 +3,24 @@ LABEL maintainer="markus@martialblog.de"
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get install --no-install-recommends -y \
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
netcat-openbsd \
|
||||
libldap-common \
|
||||
libsasl2-modules \
|
||||
; \
|
||||
\
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install PHP Plugins and Configure PHP imap plugin
|
||||
# hadolint ignore=SC2086
|
||||
RUN set -ex; \
|
||||
\
|
||||
savedAptMark="$(apt-mark showmanual)"; \
|
||||
\
|
||||
apt-get update; \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libldap2-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg-dev \
|
||||
@@ -19,20 +33,13 @@ RUN set -ex; \
|
||||
libzip-dev \
|
||||
libtidy-dev \
|
||||
libsodium-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=/usr/include/ --with-jpeg=/usr && \
|
||||
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
|
||||
docker-php-ext-install -j5 \
|
||||
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 \
|
||||
@@ -44,11 +51,33 @@ RUN set -ex; \
|
||||
pgsql \
|
||||
sodium \
|
||||
tidy \
|
||||
zip
|
||||
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; \
|
||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
||||
| awk '$3 ~ /^\/lib/ { print "/usr"$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 sha256_checksum="34b8814c026e3510af7f4d12ba6a7a7e7bffb5f5d4b074de97051b0501a90b09"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG version="6.4.2+240115"
|
||||
ARG sha256_checksum="97fc7a2e0d56f607d089c2b1321ae821827cf16959161a10b5e3eb6ca633d429"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -1,6 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 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_HOST=${DB_HOST:-'mysql'}
|
||||
@@ -9,19 +26,19 @@ 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:-}
|
||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||
file_env 'DB_PASSWORD'
|
||||
|
||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
||||
file_env 'ENCRYPT_KEYPAIR'
|
||||
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||
file_env 'ENCRYPT_SECRET_KEY'
|
||||
file_env 'ENCRYPT_NONCE'
|
||||
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||
|
||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
||||
file_env 'ADMIN_PASSWORD'
|
||||
|
||||
BASE_URL=${BASE_URL:-}
|
||||
PUBLIC_URL=${PUBLIC_URL:-}
|
||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||
|
||||
if [ -z "$DB_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing DB_PASSWORD'
|
||||
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
||||
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
||||
echo 'Info: security.php already provisioned'
|
||||
else
|
||||
echo 'Info: Creating security.php'
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ]; then
|
||||
if [ -n "$ENCRYPT_KEYPAIR" ] || [ -n "$ENCRYPT_SECRET_BOX_KEY" ]; then
|
||||
|
||||
cat <<EOF > application/config/security.php
|
||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
20
README.md
20
README.md
@@ -115,10 +115,10 @@ If you are running LimeSurvey behind a Reverse Proxy you might need some additio
|
||||
| DB_MYSQL_ENGINE | MySQL engine used for survey tables (values: MyISAM, InnoDB, default: MyISAM) |
|
||||
| DB_USERNAME | Database user |
|
||||
| DB_PASSWORD | Database user's password |
|
||||
| ADMIN_USER | Initial LimeSurvey Admin User |
|
||||
| ADMIN_NAME | Initial LimeSurvey Admin Username |
|
||||
| ADMIN_USER | Initial LimeSurvey Admin Username (for signing into admin panel) |
|
||||
| ADMIN_NAME | Initial LimeSurvey Admin Name |
|
||||
| ADMIN_EMAIL | Initial LimeSurvey Admin Email |
|
||||
| ADMIN_PASSWORD | Initial LimeSurvey Admin Password |
|
||||
| ADMIN_PASSWORD | Initial LimeSurvey Admin Password (for signing into admin panel) |
|
||||
| PUBLIC_URL | Public URL for public scripts |
|
||||
| BASE_URL | Application Base URL |
|
||||
| URL_FORMAT | URL Format. path or get |
|
||||
@@ -133,12 +133,26 @@ 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) |
|
||||
| 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
|
||||
|
||||
# Running LimeSurvey 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).
|
||||
|
||||
**Hint:** You need to configure a database and Limesurvey password in the `docker-compose` files before starting. No defaults are provided to discourage production use with default passwords.
|
||||
|
||||
```
|
||||
docker-compose up
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@ services:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
- "PUBLIC_URL=http://my.survey.localhost:8080" # Example, Change this
|
||||
- "BASE_URL=http://my.survey.localhost:8080" # Example, Change this
|
||||
proxy:
|
||||
@@ -24,6 +24,6 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@ services:
|
||||
- DB_TYPE=pgsql
|
||||
- DB_PORT=5432
|
||||
- DB_HOST=db
|
||||
- DB_PASSWORD=example
|
||||
# - DB_PASSWORD=
|
||||
- DB_NAME=limesurvey
|
||||
- DB_USERNAME=limesurvey
|
||||
- ADMIN_USER=admin
|
||||
- ADMIN_NAME=Admin
|
||||
- ADMIN_PASSWORD=example
|
||||
# - ADMIN_PASSWORD=
|
||||
- ADMIN_EMAIL=admin@example.com
|
||||
- PUBLIC_URL=foobar.com
|
||||
volumes:
|
||||
@@ -25,11 +25,11 @@ services:
|
||||
image: docker.io/postgres:10-alpine
|
||||
restart: always
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql
|
||||
- db-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_USER=limesurvey
|
||||
- POSTGRES_DB=limesurvey
|
||||
- POSTGRES_PASSWORD=example
|
||||
# - POSTGRES_PASSWORD=
|
||||
|
||||
volumes:
|
||||
limesurvey:
|
||||
|
||||
@@ -14,8 +14,8 @@ services:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
lime-web:
|
||||
build:
|
||||
context: nginx-certbot/
|
||||
@@ -44,7 +44,7 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
volumes:
|
||||
lime:
|
||||
|
||||
@@ -14,8 +14,8 @@ services:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
lime-web:
|
||||
image: docker.io/nginx:alpine
|
||||
links:
|
||||
@@ -32,7 +32,7 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
volumes:
|
||||
lime:
|
||||
|
||||
@@ -14,8 +14,8 @@ services:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
lime-web:
|
||||
image: docker.io/nginx
|
||||
links:
|
||||
@@ -30,7 +30,7 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
volumes:
|
||||
lime:
|
||||
|
||||
@@ -19,8 +19,8 @@ services:
|
||||
- "DB_TYPE=pgsql"
|
||||
- "DB_PORT=5432"
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
lime-db:
|
||||
image: docker.io/postgres:10
|
||||
volumes:
|
||||
@@ -28,7 +28,7 @@ services:
|
||||
environment:
|
||||
- "POSTGRES_USER=limesurvey"
|
||||
- "POSTGRES_DB=limesurvey"
|
||||
- "POSTGRES_PASSWORD=secret"
|
||||
# - "POSTGRES_PASSWORD="
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
@@ -15,8 +15,8 @@ services:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
- "PUBLIC_URL=http://my.survey.localhost:8888"
|
||||
- "BASE_URL=http://my.survey.localhost:8888"
|
||||
traefik:
|
||||
@@ -37,6 +37,5 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
|
||||
@@ -19,8 +19,8 @@ services:
|
||||
- "./examples/apache-example.conf:/etc/apache2/sites-available/000-default.conf:ro"
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
- "PUBLIC_URL=http://localhost:8888/limesurvey"
|
||||
- "BASE_URL=http://localhost:8888/limesurvey"
|
||||
traefik:
|
||||
@@ -41,6 +41,5 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
|
||||
@@ -15,8 +15,8 @@ services:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
# - "DB_PASSWORD="
|
||||
# - "ADMIN_PASSWORD="
|
||||
# If you require an empty table prefix, use a space as the DB_TABLE_PREFIX
|
||||
# - "DB_TABLE_PREFIX= "
|
||||
lime-db:
|
||||
@@ -24,5 +24,5 @@ services:
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
# - "MYSQL_PASSWORD="
|
||||
# - "MYSQL_ROOT_PASSWORD="
|
||||
|
||||
@@ -51,30 +51,6 @@ commandTests:
|
||||
command: "dpkg"
|
||||
args: ["-l", "netcat"]
|
||||
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"
|
||||
command: "php"
|
||||
args: ["-m"]
|
||||
|
||||
Reference in New Issue
Block a user