mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-06 16:39:11 +01:00
Compare commits
112 Commits
6.0.4-2304
...
6.4.5-2402
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79928f4075 | ||
|
|
b297c16f7c | ||
|
|
322cf3732e | ||
|
|
22fc8f2d56 | ||
|
|
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 |
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- 6.0/fpm-alpine/Dockerfile
|
- 6.0/fpm-alpine/Dockerfile
|
||||||
- 6.0/fpm/Dockerfile
|
- 6.0/fpm/Dockerfile
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
- uses: hadolint/hadolint-action@v3.1.0
|
- uses: hadolint/hadolint-action@v3.1.0
|
||||||
with:
|
with:
|
||||||
dockerfile: ${{ matrix.dockerfile }}
|
dockerfile: ${{ matrix.dockerfile }}
|
||||||
@@ -31,24 +31,24 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
- name: 'Check out the repo'
|
- name: 'Check out the repo'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
- name: 'Set up QEMU'
|
- name: 'Set up QEMU'
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v3
|
||||||
with:
|
with:
|
||||||
platforms: 'arm64,arm'
|
platforms: 'arm64,arm'
|
||||||
- name: 'Set up Docker Buildx'
|
- name: 'Set up Docker Buildx'
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
with:
|
||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
- name: 'Log in to DockerHub'
|
- name: 'Log in to DockerHub'
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
||||||
- name: 'Apache variant metadata'
|
- name: 'Apache variant metadata'
|
||||||
id: metadata-apache
|
id: metadata-apache
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
docker.io/martialblog/limesurvey
|
docker.io/martialblog/limesurvey
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
latest=true
|
latest=true
|
||||||
suffix=-apache
|
suffix=-apache
|
||||||
- name: 'Build and push latest Apache container images'
|
- name: 'Build and push latest Apache container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 6.0/apache
|
context: 6.0/apache
|
||||||
push: true
|
push: true
|
||||||
@@ -69,7 +69,7 @@ jobs:
|
|||||||
|
|
||||||
- name: 'FPM variant metadata'
|
- name: 'FPM variant metadata'
|
||||||
id: metadata-fpm
|
id: metadata-fpm
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
docker.io/martialblog/limesurvey
|
docker.io/martialblog/limesurvey
|
||||||
@@ -80,7 +80,7 @@ jobs:
|
|||||||
latest=false
|
latest=false
|
||||||
suffix=-fpm
|
suffix=-fpm
|
||||||
- name: 'Build and push latest fpm container images'
|
- name: 'Build and push latest fpm container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 6.0/fpm
|
context: 6.0/fpm
|
||||||
push: true
|
push: true
|
||||||
@@ -90,7 +90,7 @@ jobs:
|
|||||||
|
|
||||||
- name: 'FPM Alpine variant metadata'
|
- name: 'FPM Alpine variant metadata'
|
||||||
id: metadata-fpm-alpine
|
id: metadata-fpm-alpine
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
docker.io/martialblog/limesurvey
|
docker.io/martialblog/limesurvey
|
||||||
@@ -101,7 +101,7 @@ jobs:
|
|||||||
latest=false
|
latest=false
|
||||||
suffix=-fpm-alpine
|
suffix=-fpm-alpine
|
||||||
- name: 'Build and push latest fpm-alpine container images'
|
- name: 'Build and push latest fpm-alpine container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 6.0/fpm-alpine
|
context: 6.0/fpm-alpine
|
||||||
push: true
|
push: true
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- 5.0/fpm-alpine/Dockerfile
|
- 5.0/fpm-alpine/Dockerfile
|
||||||
- 5.0/fpm/Dockerfile
|
- 5.0/fpm/Dockerfile
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
- uses: hadolint/hadolint-action@v3.1.0
|
- uses: hadolint/hadolint-action@v3.1.0
|
||||||
with:
|
with:
|
||||||
dockerfile: ${{ matrix.dockerfile }}
|
dockerfile: ${{ matrix.dockerfile }}
|
||||||
@@ -31,24 +31,24 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
steps:
|
steps:
|
||||||
- name: 'Check out the repo'
|
- name: 'Check out the repo'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
- name: 'Set up QEMU'
|
- name: 'Set up QEMU'
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v3
|
||||||
with:
|
with:
|
||||||
platforms: 'arm64,arm'
|
platforms: 'arm64,arm'
|
||||||
- name: 'Set up Docker Buildx'
|
- name: 'Set up Docker Buildx'
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
with:
|
||||||
buildkitd-flags: --debug
|
buildkitd-flags: --debug
|
||||||
- name: 'Log in to DockerHub'
|
- name: 'Log in to DockerHub'
|
||||||
if: github.event_name != 'pull_request'
|
if: github.event_name != 'pull_request'
|
||||||
uses: docker/login-action@v2
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
||||||
- name: 'Apache variant metadata'
|
- name: 'Apache variant metadata'
|
||||||
id: metadata-apache
|
id: metadata-apache
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
docker.io/martialblog/limesurvey
|
docker.io/martialblog/limesurvey
|
||||||
@@ -59,7 +59,7 @@ jobs:
|
|||||||
latest=false
|
latest=false
|
||||||
suffix=-apache
|
suffix=-apache
|
||||||
- name: 'Build and push LTS apache container images'
|
- name: 'Build and push LTS apache container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 5.0/apache
|
context: 5.0/apache
|
||||||
push: true
|
push: true
|
||||||
@@ -69,7 +69,7 @@ jobs:
|
|||||||
|
|
||||||
- name: 'FPM variant metadata'
|
- name: 'FPM variant metadata'
|
||||||
id: metadata-fpm
|
id: metadata-fpm
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
docker.io/martialblog/limesurvey
|
docker.io/martialblog/limesurvey
|
||||||
@@ -80,7 +80,7 @@ jobs:
|
|||||||
latest=false
|
latest=false
|
||||||
suffix=-fpm
|
suffix=-fpm
|
||||||
- name: 'Build and push LTS fpm container images'
|
- name: 'Build and push LTS fpm container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 5.0/fpm
|
context: 5.0/fpm
|
||||||
push: true
|
push: true
|
||||||
@@ -90,7 +90,7 @@ jobs:
|
|||||||
|
|
||||||
- name: 'FPM Alpine variant metadata'
|
- name: 'FPM Alpine variant metadata'
|
||||||
id: metadata-fpm-alpine
|
id: metadata-fpm-alpine
|
||||||
uses: docker/metadata-action@v4
|
uses: docker/metadata-action@v5
|
||||||
with:
|
with:
|
||||||
images: |
|
images: |
|
||||||
docker.io/martialblog/limesurvey
|
docker.io/martialblog/limesurvey
|
||||||
@@ -101,7 +101,7 @@ jobs:
|
|||||||
latest=false
|
latest=false
|
||||||
suffix=-fpm-alpine
|
suffix=-fpm-alpine
|
||||||
- name: 'Build and push LTS fpm-alpine container images'
|
- name: 'Build and push LTS fpm-alpine container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 5.0/fpm-alpine
|
context: 5.0/fpm-alpine
|
||||||
push: true
|
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
|
- 6.0/fpm/Dockerfile
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
- uses: hadolint/hadolint-action@v3.1.0
|
- uses: hadolint/hadolint-action@v3.1.0
|
||||||
with:
|
with:
|
||||||
dockerfile: ${{ matrix.dockerfile }}
|
dockerfile: ${{ matrix.dockerfile }}
|
||||||
|
|||||||
@@ -22,18 +22,18 @@ jobs:
|
|||||||
- linux/arm64
|
- linux/arm64
|
||||||
steps:
|
steps:
|
||||||
- name: 'Check out the repo'
|
- name: 'Check out the repo'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
|
|
||||||
- name: 'Set up QEMU'
|
- name: 'Set up QEMU'
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v3
|
||||||
with:
|
with:
|
||||||
platforms: 'arm64,arm'
|
platforms: 'arm64,arm'
|
||||||
|
|
||||||
- name: 'Set up Docker Buildx'
|
- name: 'Set up Docker Buildx'
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: 'Build Container images'
|
- name: 'Build Container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 6.0/${{ matrix.context }}
|
context: 6.0/${{ matrix.context }}
|
||||||
push: false
|
push: false
|
||||||
|
|||||||
@@ -14,18 +14,18 @@ jobs:
|
|||||||
- fpm
|
- fpm
|
||||||
steps:
|
steps:
|
||||||
- name: 'Check out the repo'
|
- name: 'Check out the repo'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
|
|
||||||
- name: 'Set up QEMU'
|
- name: 'Set up QEMU'
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v3
|
||||||
with:
|
with:
|
||||||
platforms: 'arm64,arm'
|
platforms: 'arm64,arm'
|
||||||
|
|
||||||
- name: 'Set up Docker Buildx'
|
- name: 'Set up Docker Buildx'
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: 'Build Container images'
|
- name: 'Build Container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 6.0/${{ matrix.context }}
|
context: 6.0/${{ matrix.context }}
|
||||||
push: false
|
push: false
|
||||||
|
|||||||
@@ -14,16 +14,16 @@ jobs:
|
|||||||
- fpm
|
- fpm
|
||||||
steps:
|
steps:
|
||||||
- name: 'Check out the repo'
|
- name: 'Check out the repo'
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
|
||||||
|
|
||||||
- name: 'Set up QEMU'
|
- name: 'Set up QEMU'
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v3
|
||||||
|
|
||||||
- name: 'Set up Docker Buildx'
|
- name: 'Set up Docker Buildx'
|
||||||
uses: docker/setup-buildx-action@v2
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: 'Build Container images'
|
- name: 'Build Container images'
|
||||||
uses: docker/build-push-action@v4
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: 5.0/${{ matrix.context }}
|
context: 5.0/${{ matrix.context }}
|
||||||
push: false
|
push: false
|
||||||
|
|||||||
@@ -3,48 +3,68 @@ LABEL maintainer="markus@martialblog.de"
|
|||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apt-get update && \
|
apt-get update; \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
apt-get install -y --no-install-recommends \
|
||||||
apt-get install --no-install-recommends -y \
|
netcat \
|
||||||
|
; \
|
||||||
\
|
\
|
||||||
libldap2-dev \
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libonig-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libzip-dev \
|
|
||||||
libtidy-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
netcat \
|
|
||||||
\
|
|
||||||
&& apt-get -y autoclean; apt-get -y autoremove; \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
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
|
# Install PHP Plugins and Configure PHP imap plugin
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
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 && \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
docker-php-ext-install -j5 \
|
\
|
||||||
exif \
|
apt-get update; \
|
||||||
gd \
|
apt-get install -y --no-install-recommends \
|
||||||
imap \
|
libldap2-dev \
|
||||||
ldap \
|
libfreetype6-dev \
|
||||||
mbstring \
|
libjpeg-dev \
|
||||||
pdo \
|
libonig-dev \
|
||||||
pdo_mysql \
|
zlib1g-dev \
|
||||||
pdo_pgsql \
|
libc-client-dev \
|
||||||
pgsql \
|
libkrb5-dev \
|
||||||
sodium \
|
libpng-dev \
|
||||||
tidy \
|
libpq-dev \
|
||||||
zip
|
libzip-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
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 \
|
||||||
|
ldap \
|
||||||
|
mbstring \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
pgsql \
|
||||||
|
sodium \
|
||||||
|
tidy \
|
||||||
|
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
|
# Apache configuration
|
||||||
RUN a2enmod headers rewrite remoteip; \
|
RUN a2enmod headers rewrite remoteip; \
|
||||||
@@ -59,14 +79,14 @@ 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="3.28.56+230404"
|
ARG version="3.28.59+230517"
|
||||||
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228"
|
ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
|
||||||
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=root
|
ARG USER=root
|
||||||
ARG LISTEN_PORT=80
|
ARG LISTEN_PORT=80
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
||||||
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
||||||
|
|||||||
@@ -2,6 +2,10 @@ 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
|
||||||
|
|
||||||
|
# Install PHP Plugins
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk add --no-cache --virtual .build-deps \
|
apk add --no-cache --virtual .build-deps \
|
||||||
freetype-dev \
|
freetype-dev \
|
||||||
@@ -13,14 +17,13 @@ RUN set -ex; \
|
|||||||
openldap-dev \
|
openldap-dev \
|
||||||
oniguruma-dev \
|
oniguruma-dev \
|
||||||
imap-dev \
|
imap-dev \
|
||||||
postgresql-dev && \
|
postgresql-dev \
|
||||||
apk add --no-cache netcat-openbsd bash
|
; \
|
||||||
|
\
|
||||||
# Install PHP Plugins
|
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||||
RUN set -ex; \
|
docker-php-ext-configure imap --with-imap-ssl; \
|
||||||
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
|
docker-php-ext-install -j "$(nproc)" \
|
||||||
docker-php-ext-configure imap --with-imap-ssl && \
|
exif \
|
||||||
docker-php-ext-install \
|
|
||||||
gd \
|
gd \
|
||||||
imap \
|
imap \
|
||||||
ldap \
|
ldap \
|
||||||
@@ -31,14 +34,24 @@ RUN set -ex; \
|
|||||||
pgsql \
|
pgsql \
|
||||||
sodium \
|
sodium \
|
||||||
tidy \
|
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 version="3.28.59+230517"
|
||||||
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228"
|
ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
||||||
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
||||||
|
|||||||
@@ -3,55 +3,75 @@ LABEL maintainer="markus@martialblog.de"
|
|||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apt-get update && \
|
apt-get update; \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
apt-get install -y --no-install-recommends \
|
||||||
apt-get install --no-install-recommends -y \
|
netcat \
|
||||||
|
; \
|
||||||
\
|
\
|
||||||
libldap2-dev \
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libonig-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libzip-dev \
|
|
||||||
libtidy-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
netcat \
|
|
||||||
\
|
|
||||||
&& apt-get -y autoclean; apt-get -y autoremove; \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
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
|
# Install PHP Plugins and Configure PHP imap plugin
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
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 && \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
docker-php-ext-install -j5 \
|
\
|
||||||
exif \
|
apt-get update; \
|
||||||
gd \
|
apt-get install -y --no-install-recommends \
|
||||||
imap \
|
libldap2-dev \
|
||||||
ldap \
|
libfreetype6-dev \
|
||||||
mbstring \
|
libjpeg-dev \
|
||||||
pdo \
|
libonig-dev \
|
||||||
pdo_mysql \
|
zlib1g-dev \
|
||||||
pdo_pgsql \
|
libc-client-dev \
|
||||||
pgsql \
|
libkrb5-dev \
|
||||||
sodium \
|
libpng-dev \
|
||||||
tidy \
|
libpq-dev \
|
||||||
zip
|
libzip-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
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 \
|
||||||
|
ldap \
|
||||||
|
mbstring \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
pgsql \
|
||||||
|
sodium \
|
||||||
|
tidy \
|
||||||
|
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 version="3.28.59+230517"
|
||||||
ARG sha256_checksum="abfdc800d97feabbd448df4a2cfa72a954d2f6b013475132b0691ac2563e7228"
|
ARG sha256_checksum="e048eaaf5260a8d6391609c355bb4df8c8ef0e0943b2d612d2a8414956db622a"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
||||||
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
||||||
|
|||||||
@@ -3,49 +3,70 @@ LABEL maintainer="markus@martialblog.de"
|
|||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apt-get update && \
|
apt-get update; \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
apt-get install -y --no-install-recommends \
|
||||||
apt-get install --no-install-recommends -y \
|
netcat-openbsd \
|
||||||
|
libldap-common \
|
||||||
|
libsasl2-modules \
|
||||||
|
; \
|
||||||
\
|
\
|
||||||
libldap2-dev \
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libonig-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libzip-dev \
|
|
||||||
libtidy-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
netcat \
|
|
||||||
curl \
|
|
||||||
\
|
|
||||||
&& apt-get -y autoclean; apt-get -y autoremove; \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
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
|
# Install PHP Plugins and Configure PHP imap plugin
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
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 && \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
docker-php-ext-install -j5 \
|
\
|
||||||
exif \
|
apt-get update; \
|
||||||
gd \
|
apt-get install -y --no-install-recommends \
|
||||||
imap \
|
libldap2-dev \
|
||||||
ldap \
|
libfreetype6-dev \
|
||||||
mbstring \
|
libjpeg-dev \
|
||||||
pdo \
|
libonig-dev \
|
||||||
pdo_mysql \
|
zlib1g-dev \
|
||||||
pdo_pgsql \
|
libc-client-dev \
|
||||||
pgsql \
|
libkrb5-dev \
|
||||||
sodium \
|
libpng-dev \
|
||||||
tidy \
|
libpq-dev \
|
||||||
zip
|
libzip-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
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 \
|
||||||
|
ldap \
|
||||||
|
mbstring \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
pgsql \
|
||||||
|
sodium \
|
||||||
|
tidy \
|
||||||
|
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
|
# Apache configuration
|
||||||
RUN a2enmod headers rewrite remoteip; \
|
RUN a2enmod headers rewrite remoteip; \
|
||||||
@@ -60,14 +81,14 @@ 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.17+230426"
|
ARG version="5.6.53+240131"
|
||||||
ARG sha256_checksum="dd1773d8c4bf03f66bc6e2d137b1c570bf8db02bfd6e85e5d6ce9927df6f277d"
|
ARG sha256_checksum="bfe4f51b6b43560314f38b01b913c8fed29d17de420cd480b2426d5f300f654c"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||||
ARG USER=www-data
|
ARG USER=www-data
|
||||||
ARG LISTEN_PORT=8080
|
ARG LISTEN_PORT=8080
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
||||||
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -136,7 +153,7 @@ if [ -f application/config/security.php ]; then
|
|||||||
echo 'Info: security.php already provisioned'
|
echo 'Info: security.php already provisioned'
|
||||||
else
|
else
|
||||||
echo 'Info: Creating security.php'
|
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
|
cat <<EOF > application/config/security.php
|
||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?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"
|
LABEL maintainer="markus@martialblog.de"
|
||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
|
RUN set -ex; \
|
||||||
|
apk add --no-cache \
|
||||||
|
netcat-openbsd \
|
||||||
|
libsasl \
|
||||||
|
libldap \
|
||||||
|
bash
|
||||||
|
|
||||||
|
# Install PHP Plugins
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk add --no-cache --virtual .build-deps \
|
apk add --no-cache --virtual .build-deps \
|
||||||
freetype-dev \
|
freetype-dev \
|
||||||
@@ -13,14 +22,12 @@ RUN set -ex; \
|
|||||||
openldap-dev \
|
openldap-dev \
|
||||||
oniguruma-dev \
|
oniguruma-dev \
|
||||||
imap-dev \
|
imap-dev \
|
||||||
postgresql-dev && \
|
postgresql-dev \
|
||||||
apk add --no-cache netcat-openbsd bash
|
; \
|
||||||
|
\
|
||||||
# Install PHP Plugins
|
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||||
RUN set -ex; \
|
docker-php-ext-configure imap --with-imap-ssl; \
|
||||||
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
|
docker-php-ext-install -j "$(nproc)" \
|
||||||
docker-php-ext-configure imap --with-imap-ssl && \
|
|
||||||
docker-php-ext-install \
|
|
||||||
exif \
|
exif \
|
||||||
gd \
|
gd \
|
||||||
imap \
|
imap \
|
||||||
@@ -32,15 +39,25 @@ RUN set -ex; \
|
|||||||
pgsql \
|
pgsql \
|
||||||
sodium \
|
sodium \
|
||||||
tidy \
|
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 version="5.6.53+240131"
|
||||||
ARG sha256_checksum="dd1773d8c4bf03f66bc6e2d137b1c570bf8db02bfd6e85e5d6ce9927df6f277d"
|
ARG sha256_checksum="bfe4f51b6b43560314f38b01b913c8fed29d17de420cd480b2426d5f300f654c"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||||
ARG USER=www-data
|
ARG USER=www-data
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
||||||
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
|||||||
echo 'Info: security.php already provisioned'
|
echo 'Info: security.php already provisioned'
|
||||||
else
|
else
|
||||||
echo 'Info: Creating security.php'
|
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
|
cat <<EOF > application/config/security.php
|
||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|||||||
@@ -3,56 +3,78 @@ LABEL maintainer="markus@martialblog.de"
|
|||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apt-get update && \
|
apt-get update; \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
apt-get install -y --no-install-recommends \
|
||||||
apt-get install --no-install-recommends -y \
|
netcat-openbsd \
|
||||||
|
libldap-common \
|
||||||
|
libsasl2-modules \
|
||||||
|
; \
|
||||||
\
|
\
|
||||||
libldap2-dev \
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libonig-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libzip-dev \
|
|
||||||
libtidy-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
netcat \
|
|
||||||
\
|
|
||||||
&& apt-get -y autoclean; apt-get -y autoremove; \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
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
|
# Install PHP Plugins and Configure PHP imap plugin
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
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 && \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
docker-php-ext-install -j5 \
|
\
|
||||||
exif \
|
apt-get update; \
|
||||||
gd \
|
apt-get install -y --no-install-recommends \
|
||||||
imap \
|
libldap2-dev \
|
||||||
ldap \
|
libfreetype6-dev \
|
||||||
mbstring \
|
libjpeg-dev \
|
||||||
pdo \
|
libonig-dev \
|
||||||
pdo_mysql \
|
zlib1g-dev \
|
||||||
pdo_pgsql \
|
libc-client-dev \
|
||||||
pgsql \
|
libkrb5-dev \
|
||||||
sodium \
|
libpng-dev \
|
||||||
tidy \
|
libpq-dev \
|
||||||
zip
|
libzip-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
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 \
|
||||||
|
ldap \
|
||||||
|
mbstring \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
pgsql \
|
||||||
|
sodium \
|
||||||
|
tidy \
|
||||||
|
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 version="5.6.53+240131"
|
||||||
ARG sha256_checksum="dd1773d8c4bf03f66bc6e2d137b1c570bf8db02bfd6e85e5d6ce9927df6f277d"
|
ARG sha256_checksum="bfe4f51b6b43560314f38b01b913c8fed29d17de420cd480b2426d5f300f654c"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||||
ARG USER=www-data
|
ARG USER=www-data
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
# Download, unzip and chmod LimeSurvey from GitHub (defaults to the official LimeSurvey/LimeSurvey repository)
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
curl -sSL "${archive_url}" --output /tmp/limesurvey.tar.gz && \
|
||||||
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
echo "${sha256_checksum} /tmp/limesurvey.tar.gz" | sha256sum -c - && \
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
|||||||
echo 'Info: security.php already provisioned'
|
echo 'Info: security.php already provisioned'
|
||||||
else
|
else
|
||||||
echo 'Info: Creating security.php'
|
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
|
cat <<EOF > application/config/security.php
|
||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|||||||
@@ -3,49 +3,77 @@ LABEL maintainer="markus@martialblog.de"
|
|||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apt-get update && \
|
apt-get update; \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
apt-get install -y --no-install-recommends \
|
||||||
apt-get install --no-install-recommends -y \
|
netcat-openbsd \
|
||||||
|
libldap-common \
|
||||||
|
libsasl2-modules \
|
||||||
|
; \
|
||||||
\
|
\
|
||||||
libldap2-dev \
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libonig-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libzip-dev \
|
|
||||||
libtidy-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
netcat \
|
|
||||||
curl \
|
|
||||||
\
|
|
||||||
&& apt-get -y autoclean; apt-get -y autoremove; \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
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
|
# Install PHP Plugins and Configure PHP imap plugin
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
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 && \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
docker-php-ext-install -j5 \
|
\
|
||||||
exif \
|
apt-get update; \
|
||||||
gd \
|
apt-get install -y --no-install-recommends \
|
||||||
imap \
|
libldap2-dev \
|
||||||
ldap \
|
libfreetype6-dev \
|
||||||
mbstring \
|
libjpeg-dev \
|
||||||
pdo \
|
libonig-dev \
|
||||||
pdo_mysql \
|
zlib1g-dev \
|
||||||
pdo_pgsql \
|
libc-client-dev \
|
||||||
pgsql \
|
libkrb5-dev \
|
||||||
sodium \
|
libpng-dev \
|
||||||
tidy \
|
libpq-dev \
|
||||||
zip
|
libzip-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
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 \
|
||||||
|
ldap \
|
||||||
|
mbstring \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
pgsql \
|
||||||
|
sodium \
|
||||||
|
tidy \
|
||||||
|
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
|
# Apache configuration
|
||||||
RUN a2enmod headers rewrite remoteip; \
|
RUN a2enmod headers rewrite remoteip; \
|
||||||
@@ -60,9 +88,9 @@ 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.4+230427"
|
ARG version="6.4.5+240205"
|
||||||
ARG sha256_checksum="05f95ba3d0591402263cc9bf5b9fdb8603f6dba3ece2dbf1be795ad7ba7fa8c2"
|
ARG sha256_checksum="96318c85ddf2fd5b6af91f3eb67843ca74ff293f4ac79a016c26710a60b5bda1"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||||
ARG USER=www-data
|
ARG USER=www-data
|
||||||
ARG LISTEN_PORT=8080
|
ARG LISTEN_PORT=8080
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -136,7 +153,7 @@ if [ -f application/config/security.php ]; then
|
|||||||
echo 'Info: security.php already provisioned'
|
echo 'Info: security.php already provisioned'
|
||||||
else
|
else
|
||||||
echo 'Info: Creating security.php'
|
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
|
cat <<EOF > application/config/security.php
|
||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?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"
|
LABEL maintainer="markus@martialblog.de"
|
||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
|
RUN set -ex; \
|
||||||
|
apk add --no-cache \
|
||||||
|
netcat-openbsd \
|
||||||
|
libsasl \
|
||||||
|
libldap \
|
||||||
|
bash
|
||||||
|
|
||||||
|
# Install PHP Plugins
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk add --no-cache --virtual .build-deps \
|
apk add --no-cache --virtual .build-deps \
|
||||||
freetype-dev \
|
freetype-dev \
|
||||||
@@ -13,14 +22,12 @@ RUN set -ex; \
|
|||||||
openldap-dev \
|
openldap-dev \
|
||||||
oniguruma-dev \
|
oniguruma-dev \
|
||||||
imap-dev \
|
imap-dev \
|
||||||
postgresql-dev && \
|
postgresql-dev \
|
||||||
apk add --no-cache netcat-openbsd bash
|
; \
|
||||||
|
\
|
||||||
# Install PHP Plugins
|
docker-php-ext-configure gd --with-freetype --with-jpeg; \
|
||||||
RUN set -ex; \
|
docker-php-ext-configure imap --with-imap-ssl; \
|
||||||
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr && \
|
docker-php-ext-install -j "$(nproc)" \
|
||||||
docker-php-ext-configure imap --with-imap-ssl && \
|
|
||||||
docker-php-ext-install \
|
|
||||||
exif \
|
exif \
|
||||||
gd \
|
gd \
|
||||||
imap \
|
imap \
|
||||||
@@ -32,11 +39,21 @@ RUN set -ex; \
|
|||||||
pgsql \
|
pgsql \
|
||||||
sodium \
|
sodium \
|
||||||
tidy \
|
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.4+230427"
|
ARG version="6.4.5+240205"
|
||||||
ARG sha256_checksum="05f95ba3d0591402263cc9bf5b9fdb8603f6dba3ece2dbf1be795ad7ba7fa8c2"
|
ARG sha256_checksum="96318c85ddf2fd5b6af91f3eb67843ca74ff293f4ac79a016c26710a60b5bda1"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||||
ARG USER=www-data
|
ARG USER=www-data
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
|||||||
echo 'Info: security.php already provisioned'
|
echo 'Info: security.php already provisioned'
|
||||||
else
|
else
|
||||||
echo 'Info: Creating security.php'
|
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
|
cat <<EOF > application/config/security.php
|
||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
|||||||
@@ -3,52 +3,81 @@ LABEL maintainer="markus@martialblog.de"
|
|||||||
|
|
||||||
# Install OS dependencies
|
# Install OS dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apt-get update && \
|
apt-get update; \
|
||||||
DEBIAN_FRONTEND=noninteractive \
|
apt-get install -y --no-install-recommends \
|
||||||
apt-get install --no-install-recommends -y \
|
netcat-openbsd \
|
||||||
|
libldap-common \
|
||||||
|
libsasl2-modules \
|
||||||
|
; \
|
||||||
\
|
\
|
||||||
libldap2-dev \
|
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
||||||
libfreetype6-dev \
|
|
||||||
libjpeg-dev \
|
|
||||||
libonig-dev \
|
|
||||||
zlib1g-dev \
|
|
||||||
libc-client-dev \
|
|
||||||
libkrb5-dev \
|
|
||||||
libpng-dev \
|
|
||||||
libpq-dev \
|
|
||||||
libzip-dev \
|
|
||||||
libtidy-dev \
|
|
||||||
libsodium-dev \
|
|
||||||
netcat \
|
|
||||||
\
|
|
||||||
&& apt-get -y autoclean; apt-get -y autoremove; \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
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
|
# Install PHP Plugins and Configure PHP imap plugin
|
||||||
|
# hadolint ignore=SC2086
|
||||||
RUN set -ex; \
|
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 && \
|
savedAptMark="$(apt-mark showmanual)"; \
|
||||||
docker-php-ext-install -j5 \
|
\
|
||||||
exif \
|
apt-get update; \
|
||||||
gd \
|
apt-get install -y --no-install-recommends \
|
||||||
imap \
|
libldap2-dev \
|
||||||
ldap \
|
libfreetype6-dev \
|
||||||
mbstring \
|
libjpeg-dev \
|
||||||
pdo \
|
libonig-dev \
|
||||||
pdo_mysql \
|
zlib1g-dev \
|
||||||
pdo_pgsql \
|
libc-client-dev \
|
||||||
pgsql \
|
libkrb5-dev \
|
||||||
sodium \
|
libpng-dev \
|
||||||
tidy \
|
libpq-dev \
|
||||||
zip
|
libzip-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
; \
|
||||||
|
\
|
||||||
|
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 \
|
||||||
|
ldap \
|
||||||
|
mbstring \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
pdo_pgsql \
|
||||||
|
pgsql \
|
||||||
|
sodium \
|
||||||
|
tidy \
|
||||||
|
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.4+230427"
|
ARG version="6.4.5+240205"
|
||||||
ARG sha256_checksum="05f95ba3d0591402263cc9bf5b9fdb8603f6dba3ece2dbf1be795ad7ba7fa8c2"
|
ARG sha256_checksum="96318c85ddf2fd5b6af91f3eb67843ca74ff293f4ac79a016c26710a60b5bda1"
|
||||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/refs/tags/${version}.tar.gz"
|
||||||
ARG USER=www-data
|
ARG USER=www-data
|
||||||
ENV LIMESURVEY_VERSION=$version
|
ENV LIMESURVEY_VERSION=$version
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
@@ -129,7 +146,7 @@ if [ -f application/config/security.php ]; then
|
|||||||
echo 'Info: security.php already provisioned'
|
echo 'Info: security.php already provisioned'
|
||||||
else
|
else
|
||||||
echo 'Info: Creating security.php'
|
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
|
cat <<EOF > application/config/security.php
|
||||||
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
<?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_MYSQL_ENGINE | MySQL engine used for survey tables (values: MyISAM, InnoDB, default: MyISAM) |
|
||||||
| DB_USERNAME | Database user |
|
| DB_USERNAME | Database user |
|
||||||
| DB_PASSWORD | Database user's password |
|
| DB_PASSWORD | Database user's password |
|
||||||
| ADMIN_USER | Initial LimeSurvey Admin User |
|
| ADMIN_USER | Initial LimeSurvey Admin Username (for signing into admin panel) |
|
||||||
| ADMIN_NAME | Initial LimeSurvey Admin Username |
|
| ADMIN_NAME | Initial LimeSurvey Admin Name |
|
||||||
| ADMIN_EMAIL | Initial LimeSurvey Admin Email |
|
| 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 |
|
| PUBLIC_URL | Public URL for public scripts |
|
||||||
| BASE_URL | Application Base URL |
|
| BASE_URL | Application Base URL |
|
||||||
| URL_FORMAT | URL Format. path or get |
|
| 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) |
|
| 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
|
||||||
|
|
||||||
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).
|
||||||
|
|
||||||
|
**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
|
docker-compose up
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ services:
|
|||||||
- lime-db
|
- lime-db
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
- "PUBLIC_URL=http://my.survey.localhost:8080" # Example, Change this
|
- "PUBLIC_URL=http://my.survey.localhost:8080" # Example, Change this
|
||||||
- "BASE_URL=http://my.survey.localhost:8080" # Example, Change this
|
- "BASE_URL=http://my.survey.localhost:8080" # Example, Change this
|
||||||
proxy:
|
proxy:
|
||||||
@@ -24,6 +24,6 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
|
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ services:
|
|||||||
- DB_TYPE=pgsql
|
- DB_TYPE=pgsql
|
||||||
- DB_PORT=5432
|
- DB_PORT=5432
|
||||||
- DB_HOST=db
|
- DB_HOST=db
|
||||||
- DB_PASSWORD=example
|
# - DB_PASSWORD=
|
||||||
- DB_NAME=limesurvey
|
- DB_NAME=limesurvey
|
||||||
- DB_USERNAME=limesurvey
|
- DB_USERNAME=limesurvey
|
||||||
- ADMIN_USER=admin
|
- ADMIN_USER=admin
|
||||||
- ADMIN_NAME=Admin
|
- ADMIN_NAME=Admin
|
||||||
- ADMIN_PASSWORD=example
|
# - ADMIN_PASSWORD=
|
||||||
- ADMIN_EMAIL=admin@example.com
|
- ADMIN_EMAIL=admin@example.com
|
||||||
- PUBLIC_URL=foobar.com
|
- PUBLIC_URL=foobar.com
|
||||||
volumes:
|
volumes:
|
||||||
@@ -25,11 +25,11 @@ services:
|
|||||||
image: docker.io/postgres:10-alpine
|
image: docker.io/postgres:10-alpine
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- db-data:/var/lib/postgresql
|
- db-data:/var/lib/postgresql/data
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=limesurvey
|
- POSTGRES_USER=limesurvey
|
||||||
- POSTGRES_DB=limesurvey
|
- POSTGRES_DB=limesurvey
|
||||||
- POSTGRES_PASSWORD=example
|
# - POSTGRES_PASSWORD=
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
limesurvey:
|
limesurvey:
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ services:
|
|||||||
- lime-db
|
- lime-db
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
lime-web:
|
lime-web:
|
||||||
build:
|
build:
|
||||||
context: nginx-certbot/
|
context: nginx-certbot/
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@@ -44,7 +44,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
volumes:
|
volumes:
|
||||||
lime:
|
lime:
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ services:
|
|||||||
- lime-db
|
- lime-db
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
lime-web:
|
lime-web:
|
||||||
image: docker.io/nginx:alpine
|
image: docker.io/nginx:alpine
|
||||||
links:
|
links:
|
||||||
@@ -32,7 +32,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
volumes:
|
volumes:
|
||||||
lime:
|
lime:
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ services:
|
|||||||
- lime-db
|
- lime-db
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
lime-web:
|
lime-web:
|
||||||
image: docker.io/nginx
|
image: docker.io/nginx
|
||||||
links:
|
links:
|
||||||
@@ -30,7 +30,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
volumes:
|
volumes:
|
||||||
lime:
|
lime:
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ services:
|
|||||||
- "DB_TYPE=pgsql"
|
- "DB_TYPE=pgsql"
|
||||||
- "DB_PORT=5432"
|
- "DB_PORT=5432"
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
lime-db:
|
lime-db:
|
||||||
image: docker.io/postgres:10
|
image: docker.io/postgres:10
|
||||||
volumes:
|
volumes:
|
||||||
@@ -28,7 +28,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "POSTGRES_USER=limesurvey"
|
- "POSTGRES_USER=limesurvey"
|
||||||
- "POSTGRES_DB=limesurvey"
|
- "POSTGRES_DB=limesurvey"
|
||||||
- "POSTGRES_PASSWORD=secret"
|
# - "POSTGRES_PASSWORD="
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db-data:
|
db-data:
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ services:
|
|||||||
- lime-db
|
- lime-db
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
- "PUBLIC_URL=http://my.survey.localhost:8888"
|
- "PUBLIC_URL=http://my.survey.localhost:8888"
|
||||||
- "BASE_URL=http://my.survey.localhost:8888"
|
- "BASE_URL=http://my.survey.localhost:8888"
|
||||||
traefik:
|
traefik:
|
||||||
@@ -37,6 +37,5 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ services:
|
|||||||
- "./examples/apache-example.conf:/etc/apache2/sites-available/000-default.conf:ro"
|
- "./examples/apache-example.conf:/etc/apache2/sites-available/000-default.conf:ro"
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
- "PUBLIC_URL=http://localhost:8888/limesurvey"
|
- "PUBLIC_URL=http://localhost:8888/limesurvey"
|
||||||
- "BASE_URL=http://localhost:8888/limesurvey"
|
- "BASE_URL=http://localhost:8888/limesurvey"
|
||||||
traefik:
|
traefik:
|
||||||
@@ -41,6 +41,5 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
|
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ services:
|
|||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
environment:
|
environment:
|
||||||
- "DB_HOST=lime-db"
|
- "DB_HOST=lime-db"
|
||||||
- "DB_PASSWORD=secret"
|
# - "DB_PASSWORD="
|
||||||
- "ADMIN_PASSWORD=foobar"
|
# - "ADMIN_PASSWORD="
|
||||||
# If you require an empty table prefix, use a space as the DB_TABLE_PREFIX
|
# If you require an empty table prefix, use a space as the DB_TABLE_PREFIX
|
||||||
# - "DB_TABLE_PREFIX= "
|
# - "DB_TABLE_PREFIX= "
|
||||||
lime-db:
|
lime-db:
|
||||||
@@ -24,5 +24,5 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- "MYSQL_USER=limesurvey"
|
- "MYSQL_USER=limesurvey"
|
||||||
- "MYSQL_DATABASE=limesurvey"
|
- "MYSQL_DATABASE=limesurvey"
|
||||||
- "MYSQL_PASSWORD=secret"
|
# - "MYSQL_PASSWORD="
|
||||||
- "MYSQL_ROOT_PASSWORD=secret"
|
# - "MYSQL_ROOT_PASSWORD="
|
||||||
|
|||||||
@@ -51,30 +51,6 @@ commandTests:
|
|||||||
command: "dpkg"
|
command: "dpkg"
|
||||||
args: ["-l", "netcat"]
|
args: ["-l", "netcat"]
|
||||||
exitCode: 0
|
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"
|
- name: "Dependencies - PHP Modules"
|
||||||
command: "php"
|
command: "php"
|
||||||
args: ["-m"]
|
args: ["-m"]
|
||||||
|
|||||||
Reference in New Issue
Block a user