mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-06 16:39:11 +01:00
Add docker-compose example with Apache reverse-proxy
This commit is contained in:
@@ -85,6 +85,12 @@ For further details on the settings see: https://manual.limesurvey.org/Data_encr
|
|||||||
|
|
||||||
# Reverse Proxy configuration
|
# 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
|
## 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.
|
**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.
|
||||||
|
|||||||
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"
|
||||||
|
|
||||||
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>
|
||||||
Reference in New Issue
Block a user