mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-06 16:39:11 +01:00
Compare commits
48 Commits
5.4.5-2210
...
5.6.10-230
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6014fc72df | ||
|
|
25ab1cb849 | ||
|
|
d777bfc285 | ||
|
|
2498c148e3 | ||
|
|
c1e931ee8f | ||
|
|
e694afe33e | ||
|
|
8ecd8012c5 | ||
|
|
e3671f0dc2 | ||
|
|
8d77a697df | ||
|
|
8e78295423 | ||
|
|
1bbcede235 | ||
|
|
2fb47a0151 | ||
|
|
827fb0f6e0 | ||
|
|
32bd800846 | ||
|
|
6709d9964f | ||
|
|
24c3f9fcd2 | ||
|
|
f80cd5ce70 | ||
|
|
dae147ad6f | ||
|
|
ae6de116f2 | ||
|
|
8b2b966ab2 | ||
|
|
b2425303f6 | ||
|
|
ccb8047f80 | ||
|
|
66b6a31821 | ||
|
|
bd81c0b44a | ||
|
|
59986c3205 | ||
|
|
269774947b | ||
|
|
64f001f58c | ||
|
|
142839f135 | ||
|
|
74f928b609 | ||
|
|
4877b85128 | ||
|
|
908a2817fb | ||
|
|
618b89cadb | ||
|
|
da706033f6 | ||
|
|
ee98ccea0c | ||
|
|
e3dcead592 | ||
|
|
3c7de94fdd | ||
|
|
43a2c383ff | ||
|
|
19efe662d1 | ||
|
|
51f45a8513 | ||
|
|
f0b55dacf9 | ||
|
|
d9eb6aff10 | ||
|
|
d979eb5aa4 | ||
|
|
55d9b48441 | ||
|
|
c0167b9a23 | ||
|
|
6cf8fba820 | ||
|
|
e6b006edfd | ||
|
|
32be5d4370 | ||
|
|
e8818f58e2 |
@@ -59,8 +59,8 @@ RUN a2enmod headers rewrite remoteip; \
|
||||
# Use the default production configuration
|
||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||
|
||||
ARG version="3.28.31+221005"
|
||||
ARG sha256_checksum="27a9b2d2bd9a7e62432980d828278167880b740454453d9e9ad1fdba312a2737"
|
||||
ARG version="3.28.53+230314"
|
||||
ARG sha256_checksum="d6b1c176c80228481bdf6eb9e2691a796c01efc414f4e8c31af4de4fefa5079e"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG USER=root
|
||||
ARG LISTEN_PORT=80
|
||||
|
||||
@@ -33,8 +33,8 @@ RUN set -ex; \
|
||||
tidy \
|
||||
zip
|
||||
|
||||
ARG version="3.28.31+221005"
|
||||
ARG sha256_checksum="27a9b2d2bd9a7e62432980d828278167880b740454453d9e9ad1fdba312a2737"
|
||||
ARG version="3.28.53+230314"
|
||||
ARG sha256_checksum="d6b1c176c80228481bdf6eb9e2691a796c01efc414f4e8c31af4de4fefa5079e"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -46,8 +46,8 @@ RUN set -ex; \
|
||||
tidy \
|
||||
zip
|
||||
|
||||
ARG version="3.28.31+221005"
|
||||
ARG sha256_checksum="27a9b2d2bd9a7e62432980d828278167880b740454453d9e9ad1fdba312a2737"
|
||||
ARG version="3.28.53+230314"
|
||||
ARG sha256_checksum="d6b1c176c80228481bdf6eb9e2691a796c01efc414f4e8c31af4de4fefa5079e"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
|
||||
@@ -60,8 +60,8 @@ RUN a2enmod headers rewrite remoteip; \
|
||||
# Use the default production configuration
|
||||
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
||||
|
||||
ARG version="5.4.5+221010"
|
||||
ARG sha256_checksum="5294269f90419825ec772aaa66c105c186ea2c9296ce5116df8ecd3e1ff21b56"
|
||||
ARG version="5.6.10+230313"
|
||||
ARG sha256_checksum="54b395b151ee246157e79ce05ef700441f7e5ceee3176404558ac9ec98f4c8e0"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ARG LISTEN_PORT=8080
|
||||
|
||||
@@ -34,8 +34,8 @@ RUN set -ex; \
|
||||
tidy \
|
||||
zip
|
||||
|
||||
ARG version="5.4.5+221010"
|
||||
ARG sha256_checksum="5294269f90419825ec772aaa66c105c186ea2c9296ce5116df8ecd3e1ff21b56"
|
||||
ARG version="5.6.10+230313"
|
||||
ARG sha256_checksum="54b395b151ee246157e79ce05ef700441f7e5ceee3176404558ac9ec98f4c8e0"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
@@ -46,8 +46,8 @@ RUN set -ex; \
|
||||
tidy \
|
||||
zip
|
||||
|
||||
ARG version="5.4.5+221010"
|
||||
ARG sha256_checksum="5294269f90419825ec772aaa66c105c186ea2c9296ce5116df8ecd3e1ff21b56"
|
||||
ARG version="5.6.10+230313"
|
||||
ARG sha256_checksum="54b395b151ee246157e79ce05ef700441f7e5ceee3176404558ac9ec98f4c8e0"
|
||||
ARG archive_url="https://github.com/LimeSurvey/LimeSurvey/archive/${version}.tar.gz"
|
||||
ARG USER=www-data
|
||||
ENV LIMESURVEY_VERSION=$version
|
||||
|
||||
15
README.md
15
README.md
@@ -85,6 +85,12 @@ For further details on the settings see: https://manual.limesurvey.org/Data_encr
|
||||
|
||||
# Reverse Proxy configuration
|
||||
|
||||
If you are running LimeSurvey behind a Reverse Proxy you might need some additional configuration in the Proxy. For example:
|
||||
|
||||
* Apache: `ProxyPreserveHost On`
|
||||
* Nginx: `fastcgi_param HTTP_HOST my-survey.example.local;`
|
||||
* Traefik: Set the Host Header explicitly via a customRequestHeaders
|
||||
|
||||
## 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.
|
||||
@@ -185,6 +191,15 @@ drwxr-xr-x 3 82 82 4096 Jun 3 13:51 surveys
|
||||
|
||||
If you are using the Apache2 Images, the default port will now be **8080**. Depending on your setup the port configurations might need adjustment.
|
||||
|
||||
# Known Issues
|
||||
|
||||
## LimeSurvey behind a reverse proxy with a subdirectory
|
||||
|
||||
When running LimeSurvey behind a reverse proxy with a subdirectory (i.e. example.com/limesurvey), the admin area might not be displayed correctly due to a routing issue. The application will forward you to the base url regardless. See:
|
||||
- https://github.com/martialblog/docker-limesurvey/issues/49
|
||||
- https://github.com/martialblog/docker-limesurvey/issues/127
|
||||
- https://github.com/martialblog/docker-limesurvey/issues/106
|
||||
|
||||
# References
|
||||
|
||||
- https://www.limesurvey.org/
|
||||
|
||||
29
docker-compose.apache.yml
Normal file
29
docker-compose.apache.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
version: "3.0"
|
||||
services:
|
||||
limesurvey:
|
||||
image: docker.io/martialblog/limesurvey:3-apache
|
||||
links:
|
||||
- lime-db
|
||||
depends_on:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
- "PUBLIC_URL=http://my.survey.localhost:8080" # Example, Change this
|
||||
- "BASE_URL=http://my.survey.localhost:8080" # Example, Change this
|
||||
proxy:
|
||||
image: docker.io/httpd:bullseye
|
||||
volumes:
|
||||
- "./examples/apache-httpd.conf:/usr/local/apache2/conf/httpd.conf:ro"
|
||||
- "./examples/apache-reverse-proxy.conf:/usr/local/apache2/conf/reverse-proxy.conf:ro"
|
||||
ports:
|
||||
- "8080:8080"
|
||||
lime-db:
|
||||
image: docker.io/mysql:5.7
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
|
||||
42
docker-compose.traefik.domain.yml
Normal file
42
docker-compose.traefik.domain.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
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: "Host(`my.survey.localhost`)"
|
||||
traefik.http.services.limesurvey-service.loadbalancer.server.port: "8080"
|
||||
links:
|
||||
- lime-db
|
||||
depends_on:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
- "PUBLIC_URL=http://my.survey.localhost:8888"
|
||||
- "BASE_URL=http://my.survey.localhost:8888"
|
||||
traefik:
|
||||
image: docker.io/traefik:v2.9
|
||||
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: docker.io/mysql:5.7
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
- "PUBLIC_URL=http://localhost:8888/limesurvey"
|
||||
- "BASE_URL=http://localhost:8888/limesurvey"
|
||||
traefik:
|
||||
image: docker.io/traefik:v2.5
|
||||
image: docker.io/traefik:v2.9
|
||||
container_name: "traefik"
|
||||
command:
|
||||
- "--api.insecure=true"
|
||||
|
||||
131
examples/apache-httpd.conf
Normal file
131
examples/apache-httpd.conf
Normal file
@@ -0,0 +1,131 @@
|
||||
ServerRoot "/usr/local/apache2"
|
||||
Listen 8080
|
||||
|
||||
LoadModule mpm_event_module modules/mod_mpm_event.so
|
||||
LoadModule authn_file_module modules/mod_authn_file.so
|
||||
LoadModule authn_core_module modules/mod_authn_core.so
|
||||
LoadModule authz_host_module modules/mod_authz_host.so
|
||||
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
|
||||
LoadModule authz_user_module modules/mod_authz_user.so
|
||||
LoadModule authz_core_module modules/mod_authz_core.so
|
||||
LoadModule access_compat_module modules/mod_access_compat.so
|
||||
LoadModule auth_basic_module modules/mod_auth_basic.so
|
||||
LoadModule watchdog_module modules/mod_watchdog.so
|
||||
LoadModule reqtimeout_module modules/mod_reqtimeout.so
|
||||
LoadModule filter_module modules/mod_filter.so
|
||||
LoadModule mime_module modules/mod_mime.so
|
||||
LoadModule log_config_module modules/mod_log_config.so
|
||||
LoadModule env_module modules/mod_env.so
|
||||
LoadModule headers_module modules/mod_headers.so
|
||||
LoadModule setenvif_module modules/mod_setenvif.so
|
||||
LoadModule version_module modules/mod_version.so
|
||||
LoadModule proxy_module modules/mod_proxy.so
|
||||
LoadModule proxy_connect_module modules/mod_proxy_connect.so
|
||||
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
|
||||
LoadModule proxy_http_module modules/mod_proxy_http.so
|
||||
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
|
||||
LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
|
||||
LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
|
||||
LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
|
||||
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
|
||||
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
|
||||
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
|
||||
LoadModule proxy_express_module modules/mod_proxy_express.so
|
||||
LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
|
||||
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
|
||||
LoadModule ssl_module modules/mod_ssl.so
|
||||
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
|
||||
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
|
||||
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
|
||||
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
|
||||
LoadModule unixd_module modules/mod_unixd.so
|
||||
LoadModule status_module modules/mod_status.so
|
||||
LoadModule autoindex_module modules/mod_autoindex.so
|
||||
#LoadModule suexec_module modules/mod_suexec.so
|
||||
<IfModule !mpm_prefork_module>
|
||||
</IfModule>
|
||||
<IfModule mpm_prefork_module>
|
||||
</IfModule>
|
||||
LoadModule dir_module modules/mod_dir.so
|
||||
LoadModule alias_module modules/mod_alias.so
|
||||
<IfModule unixd_module>
|
||||
|
||||
User daemon
|
||||
Group daemon
|
||||
|
||||
</IfModule>
|
||||
|
||||
ServerAdmin you@example.com
|
||||
#
|
||||
<Directory />
|
||||
AllowOverride none
|
||||
Require all denied
|
||||
</Directory>
|
||||
|
||||
DocumentRoot "/usr/local/apache2/htdocs"
|
||||
<Directory "/usr/local/apache2/htdocs">
|
||||
Options Indexes FollowSymLinks
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<IfModule dir_module>
|
||||
DirectoryIndex index.html
|
||||
</IfModule>
|
||||
|
||||
<Files ".ht*">
|
||||
Require all denied
|
||||
</Files>
|
||||
|
||||
ErrorLog /proc/self/fd/2
|
||||
|
||||
LogLevel warn
|
||||
|
||||
<IfModule log_config_module>
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b" common
|
||||
|
||||
<IfModule logio_module>
|
||||
# You need to enable mod_logio.c to use %I and %O
|
||||
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
|
||||
</IfModule>
|
||||
|
||||
CustomLog /proc/self/fd/1 common
|
||||
</IfModule>
|
||||
|
||||
<IfModule alias_module>
|
||||
ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
|
||||
|
||||
</IfModule>
|
||||
|
||||
<IfModule cgid_module>
|
||||
</IfModule>
|
||||
|
||||
<Directory "/usr/local/apache2/cgi-bin">
|
||||
AllowOverride None
|
||||
Options None
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
<IfModule headers_module>
|
||||
RequestHeader unset Proxy early
|
||||
</IfModule>
|
||||
|
||||
<IfModule mime_module>
|
||||
TypesConfig conf/mime.types
|
||||
|
||||
AddType application/x-compress .Z
|
||||
AddType application/x-gzip .gz .tgz
|
||||
</IfModule>
|
||||
|
||||
# Configure mod_proxy_html to understand HTML4/XHTML1
|
||||
<IfModule proxy_html_module>
|
||||
Include conf/extra/proxy-html.conf
|
||||
</IfModule>
|
||||
|
||||
<IfModule ssl_module>
|
||||
SSLRandomSeed startup builtin
|
||||
SSLRandomSeed connect builtin
|
||||
</IfModule>
|
||||
|
||||
IncludeOptional conf/reverse-proxy.conf
|
||||
8
examples/apache-reverse-proxy.conf
Normal file
8
examples/apache-reverse-proxy.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
<VirtualHost *:8080>
|
||||
ServerAdmin admin@localhost.local
|
||||
ServerName my.survey.localhost
|
||||
|
||||
ProxyPass / http://limesurvey:80/
|
||||
ProxyPassReverse / http://limesurvey:80/
|
||||
ProxyPreserveHost On
|
||||
</VirtualHost>
|
||||
@@ -33,6 +33,8 @@ http {
|
||||
fastcgi_pass limesurvey:9000;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
# For Subdomains like https://survey.example.com
|
||||
# fastcgi_param HTTP_HOST survey.example.com;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user