Compare commits

...

15 Commits

Author SHA1 Message Date
Markus Opolka
edea222851 Upgrading to LTS Version 3.27.28+211208 2021-12-14 13:52:25 +01:00
Markus Opolka
0e35fa6d05 Upgrading to Version 5.2.4+211129 2021-12-07 11:57:55 +01:00
Markus Opolka
0650b759c0 Upgrading to LTS Version 3.27.27+211130 2021-12-07 11:57:04 +01:00
Jérôme Rautureau
7f87925fa7 Limesurvey not compatible with 8.1 docker image (#110)
Limesurvey not compatible with 8.1 docker image yet

* Causes PHP 8.1 deprecation notices and other stuff
* Set all image to PHP 8.0. 

Co-authored-by: Jérôme Rautureau <Jérôme Rautureau jerome.rautureau@agglo-larochelle.fr>
2021-12-03 09:00:40 +01:00
Markus Opolka
71fade66fe Merge pull request #109 from le-zell/patch-1
Update entrypoint.sh
2021-12-02 10:15:01 +01:00
Jérôme Rautureau
1ff7ea366d Update entrypoint.sh
corrections on entrypoint.sh (missing doucle quotes)
2021-12-02 09:32:51 +01:00
Markus Opolka
fadbe68076 Merge pull request #108 from martialblog/traefik-example
Add a Traefik example with subpath
2021-12-02 08:29:04 +01:00
Markus Opolka
c73949610f Add Traefik docker-compose example 2021-12-02 08:20:25 +01:00
Markus Opolka
79aea85bfe Upgrading to Version 5.2.3+211122 2021-11-29 12:29:37 +01:00
Markus Opolka
453cb4b1eb Upgrading to LTS Version 3.27.26+211123 2021-11-29 12:28:41 +01:00
Jack Henschel
58ad34b0bd Merge pull request #107 from martialblog/jack-fix-tags
Fix image tag generation
2021-11-28 14:57:38 +01:00
Jack Henschel
8f1b452789 Fix image tag generation
Previously, only the immutable tags would get generated (i.e.
`5.1.2-1234`), but not the rolling tags (`5-apache`), due to a
limitation of the docker metadata action.
Thus, now we use manual regex matching instead.
See the linked issue for details.

Fixes https://github.com/martialblog/docker-limesurvey/issues/105
2021-11-28 11:06:23 +01:00
Markus Opolka
19a387488a Move entrypoint to /usr/local/bin (#104)
* Move entrypoint to /usr/local/bin

 - so that it's not served by the webserver
2021-11-25 07:56:11 +01:00
Markus Opolka
19a1a0d044 Extend example nginx.conf to include more protected paths (#103) 2021-11-25 07:55:47 +01:00
Mark
624a17b9fc Add depends_on for nginx so it waits until the limesurvey app is ready (#102)
By adding a depends_on in lime-web, it will wait for the limesurvey app to be ready to accept connections.
2021-11-24 09:30:51 +01:00
19 changed files with 114 additions and 50 deletions

View File

@@ -49,10 +49,11 @@ jobs:
images: |
docker.io/martialblog/limesurvey
tags: |
type=semver,pattern={{raw}},suffix=-apache
type=semver,pattern={{major}},suffix=-apache
type=match,pattern=(.+),group=1
type=match,pattern=^(\d+),group=1
flavor: |
latest=false
suffix=-apache
- name: 'Build and push latest Apache container images'
uses: docker/build-push-action@v2
with:
@@ -68,8 +69,11 @@ jobs:
images: |
docker.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm
type=semver,pattern={{major}},suffix=-fpm
type=match,pattern=(.+),group=1
type=match,pattern=^(\d+),group=1
flavor: |
latest=false
suffix=-fpm
- name: 'Build and push latest fpm container images'
uses: docker/build-push-action@v2
with:
@@ -85,8 +89,11 @@ jobs:
images: |
docker.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm-alpine
type=semver,pattern={{major}},suffix=-fpm-alpine
type=match,pattern=(.+),group=1
type=match,pattern=^(\d+),group=1
flavor: |
latest=false
suffix=-fpm-alpine
- name: 'Build and push latest fpm-alpine container images'
uses: docker/build-push-action@v2
with:

View File

@@ -49,10 +49,11 @@ jobs:
images: |
docker.io/martialblog/limesurvey
tags: |
type=semver,pattern={{raw}},suffix=-apache
type=semver,pattern={{major}},suffix=-apache
type=match,pattern=(.+),group=1
type=match,pattern=^(\d+),group=1
flavor: |
latest=false
suffix=-apache
- name: 'Build and push LTS apache container images'
uses: docker/build-push-action@v2
with:
@@ -68,8 +69,11 @@ jobs:
images: |
docker.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm
type=semver,pattern={{major}},suffix=-fpm
type=match,pattern=(.+),group=1
type=match,pattern=^(\d+),group=1
flavor: |
latest=false
suffix=-fpm
- name: 'Build and push LTS fpm container images'
uses: docker/build-push-action@v2
with:
@@ -85,8 +89,11 @@ jobs:
images: |
docker.io/martialblog/limesurvey
tags: |
type=semver,pattern={{version}},suffix=-fpm-alpine
type=semver,pattern={{major}},suffix=-fpm-alpine
type=match,pattern=(.+),group=1
type=match,pattern=^(\d+),group=1
flavor: |
latest=false
suffix=-fpm-alpine
- name: 'Build and push LTS fpm-alpine container images'
uses: docker/build-push-action@v2
with:

View File

@@ -1,7 +1,7 @@
FROM php:7.4-apache
FROM php:8.0-apache
LABEL maintainer="markus@martialblog.de"
ARG version='3.27.25+211116'
ARG sha256_checksum='91ecfecffc3a437dbb14dec19054d64f07849fe1de00a1322699bd1f50185582'
ARG version='3.27.28+211208'
ARG sha256_checksum='fe8451c62f566a84c381f2821c97439a673d35587e758e39f6806003312bc71b'
ARG USER=root
ARG LISTEN_PORT=80
@@ -75,8 +75,8 @@ RUN set -ex; \
chown -R www-data:www-data /var/www/html /etc/apache2
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
COPY vhosts-access-log.conf /etc/apache2/conf-enabled/other-vhosts-access-log.conf
USER $USER
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm-alpine
FROM php:8.0-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='3.27.25+211116'
ARG sha256_checksum='91ecfecffc3a437dbb14dec19054d64f07849fe1de00a1322699bd1f50185582'
ARG version='3.27.28+211208'
ARG sha256_checksum='fe8451c62f566a84c381f2821c97439a673d35587e758e39f6806003312bc71b'
# Install OS dependencies
RUN set -ex; \
@@ -52,6 +52,6 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1,7 +1,7 @@
FROM php:7.4-fpm
FROM php:8.0-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='3.27.25+211116'
ARG sha256_checksum='91ecfecffc3a437dbb14dec19054d64f07849fe1de00a1322699bd1f50185582'
ARG version='3.27.28+211208'
ARG sha256_checksum='fe8451c62f566a84c381f2821c97439a673d35587e758e39f6806003312bc71b'
# Install OS dependencies
RUN set -ex; \
@@ -62,6 +62,6 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1,4 +1,4 @@
FROM php:7.4-apache
FROM php:8.0-apache
LABEL maintainer="markus@martialblog.de"
ARG version='4.6.3+210518'
ARG sha256_checksum='3c59afc13d0cf974c465c5f851cb8837117518e94031f5e3a28ba468ad734ce2'

View File

@@ -1,4 +1,4 @@
FROM php:7.4-fpm-alpine
FROM php:8.0-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='4.6.3+210518'
ARG sha256_checksum='3c59afc13d0cf974c465c5f851cb8837117518e94031f5e3a28ba468ad734ce2'

View File

@@ -1,4 +1,4 @@
FROM php:7.4-fpm
FROM php:8.0-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='4.6.3+210518'
ARG sha256_checksum='3c59afc13d0cf974c465c5f851cb8837117518e94031f5e3a28ba468ad734ce2'

View File

@@ -1,7 +1,7 @@
FROM php:8-apache
FROM php:8.0-apache
LABEL maintainer="markus@martialblog.de"
ARG version='5.2.2+211115'
ARG sha256_checksum='61148c6131ea99a699d95117d1b53f1ba7971c609c93353e7b6221dd13515659'
ARG version='5.2.4+211129'
ARG sha256_checksum='5a60547c7c2d900cfb323f9459bb3b97821b4d01111cfd1d4795160f70ee9f1d'
ARG USER=www-data
ARG LISTEN_PORT=8080
@@ -78,8 +78,8 @@ RUN set -ex; \
EXPOSE $LISTEN_PORT
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
COPY vhosts-access-log.conf /etc/apache2/conf-enabled/other-vhosts-access-log.conf
USER $USER
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["apache2-foreground"]

View File

@@ -1,7 +1,7 @@
FROM php:8-fpm-alpine
FROM php:8.0-fpm-alpine
LABEL maintainer="markus@martialblog.de"
ARG version='5.2.2+211115'
ARG sha256_checksum='61148c6131ea99a699d95117d1b53f1ba7971c609c93353e7b6221dd13515659'
ARG version='5.2.4+211129'
ARG sha256_checksum='5a60547c7c2d900cfb323f9459bb3b97821b4d01111cfd1d4795160f70ee9f1d'
ARG USER=www-data
# Install OS dependencies
@@ -54,7 +54,7 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
USER $USER
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -1,7 +1,7 @@
FROM php:8-fpm
FROM php:8.0-fpm
LABEL maintainer="markus@martialblog.de"
ARG version='5.2.2+211115'
ARG sha256_checksum='61148c6131ea99a699d95117d1b53f1ba7971c609c93353e7b6221dd13515659'
ARG version='5.2.4+211129'
ARG sha256_checksum='5a60547c7c2d900cfb323f9459bb3b97821b4d01111cfd1d4795160f70ee9f1d'
ARG USER=www-data
# Install OS dependencies
@@ -63,7 +63,7 @@ RUN set -ex; \
EXPOSE 9000
WORKDIR /var/www/html
COPY entrypoint.sh entrypoint.sh
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
USER $USER
ENTRYPOINT ["/var/www/html/entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
CMD ["php-fpm"]

View File

@@ -159,7 +159,7 @@ if [ $PHP_UPDATEDB_EXIT_CODE -eq 0 ]; then
else
echo ''
echo 'Running console.php install'
php application/commands/console.php install "$ADMIN_USER" "$ADMIN_PASSWORD" "$ADMIN_NAME $ADMIN_EMAIL"
php application/commands/console.php install "$ADMIN_USER" "$ADMIN_PASSWORD" "$ADMIN_NAME" "$ADMIN_EMAIL"
fi
exec "$@"

View File

@@ -87,6 +87,8 @@ For further details on the settings see: https://manual.limesurvey.org/Data_encr
## Traefik example
**Hint**: if you want to deploy LimeSurvey on a sub-path (e.g. https://example.com/limesurvey) you have to set the BASE_URL and adjust the Containers Webservers. See the docker-compose Traefik example in the repository.
```
# BASE_URL = /limesurvey
"traefik.http.routers.limesurvey.rule=PathPrefix(`/limesurvey`)",

View File

@@ -20,6 +20,8 @@ services:
image: nginx:alpine
links:
- limesurvey
depends_on:
- limesurvey
ports:
- "8080:80"
volumes:

View File

@@ -0,0 +1,46 @@
version: "3.0"
services:
limesurvey:
build:
context: 5.0/apache/
dockerfile: Dockerfile
labels:
traefik.enable: 'true'
traefik.http.routers.limesurvey-http-router.entrypoints: "http"
traefik.http.routers.limesurvey-http-router.rule: "PathPrefix(`/limesurvey`)"
traefik.http.services.limesurvey-service.loadbalancer.server.port: "8080"
links:
- lime-db
depends_on:
- lime-db
volumes:
# Unfortunately the StripPrefix Function in Traefik won't work;
# Meaning, we will have to set 'Alias /limesurvey "/var/www/html"' in the Apache Config
- "./examples/apache-example.conf:/etc/apache2/sites-available/000-default.conf:ro"
environment:
- "DB_HOST=lime-db"
- "DB_PASSWORD=secret"
- "ADMIN_PASSWORD=foobar"
- "PUBLIC_URL=http://localhost:8888/limesurvey"
- "BASE_URL=http://localhost:8888/limesurvey"
traefik:
image: "traefik:v2.5"
container_name: "traefik"
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.http.address=:8888"
ports:
- "8888:8888"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
lime-db:
image: mysql:5.7
environment:
- "MYSQL_USER=limesurvey"
- "MYSQL_DATABASE=limesurvey"
- "MYSQL_PASSWORD=secret"
- "MYSQL_ROOT_PASSWORD=secret"

View File

@@ -1,7 +1,7 @@
<VirtualHost *:8080>
ServerAdmin foo@bar.com
DocumentRoot /var/www/html
Alias /lime "/var/www/html"
Alias /limesurvey "/var/www/html"
<Directory />
Options FollowSymLinks

View File

@@ -19,7 +19,7 @@ http {
location / {
try_files $uri /index.php?$args;
}
location ~ ^/(protected|framework|themes/\w+/views) {
location ~ ^/(protected|application|framework|themes/\w+/views) {
deny all;
}
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {

View File

@@ -9,7 +9,7 @@ fileContentTests:
path: '/var/www/html/admin/index.php'
expectedContents: ['LimeSurvey']
- name: 'Entrypoint file content'
path: '/var/www/html/entrypoint.sh'
path: '/usr/local/bin/entrypoint.sh'
expectedContents: ['console.php', 'ADMIN_USER']
fileExistenceTests:

View File

@@ -9,7 +9,7 @@ fileContentTests:
path: '/var/www/html/admin/index.php'
expectedContents: ['LimeSurvey']
- name: 'Entrypoint file content'
path: '/var/www/html/entrypoint.sh'
path: '/usr/local/bin/entrypoint.sh'
expectedContents: ['console.php', 'ADMIN_USER']
fileExistenceTests: