mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-06 16:39:11 +01:00
Compare commits
55 Commits
4.1.4+2002
...
4.3.3+2007
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd90a16086 | ||
|
|
d1699d3d85 | ||
|
|
1707b30df2 | ||
|
|
3a55f6bfaf | ||
|
|
da9fb16aab | ||
|
|
4af9e318fb | ||
|
|
bcb66c5461 | ||
|
|
a005f313a6 | ||
|
|
0dda936f54 | ||
|
|
938e1540e7 | ||
|
|
17f24f33b6 | ||
|
|
17e7553394 | ||
|
|
ed7749da68 | ||
|
|
d02ccb7531 | ||
|
|
50e4579f38 | ||
|
|
4821f97cdb | ||
|
|
430f189ce3 | ||
|
|
b8d08e8fb7 | ||
|
|
58682a1ea2 | ||
|
|
aff7605759 | ||
|
|
7dcf4d2b0f | ||
|
|
b08f7275ef | ||
|
|
216b15a805 | ||
|
|
ad281e9249 | ||
|
|
b1a3e04cbc | ||
|
|
3639cc38e8 | ||
|
|
334d781c10 | ||
|
|
0536ebf480 | ||
|
|
2c1390a146 | ||
|
|
51f229262d | ||
|
|
4a44c06b6e | ||
|
|
70bc819758 | ||
|
|
68c542a9e6 | ||
|
|
e2affcdcf9 | ||
|
|
b6ea4dd302 | ||
|
|
0d98aab2b5 | ||
|
|
853d5d9528 | ||
|
|
1b638a4f5f | ||
|
|
b697f94e29 | ||
|
|
fc67dc080b | ||
|
|
14a816aa84 | ||
|
|
5b67ddda66 | ||
|
|
ff43a9e529 | ||
|
|
5b88d7341e | ||
|
|
1c832d1af8 | ||
|
|
6e1a43a938 | ||
|
|
0ec273d058 | ||
|
|
983a55571b | ||
|
|
b7c75d420d | ||
|
|
3d790f8d43 | ||
|
|
8236234e60 | ||
|
|
01e8c78e5c | ||
|
|
85585bbfb6 | ||
|
|
1d4ee64744 | ||
|
|
9748139ed4 |
@@ -1,7 +1,7 @@
|
||||
FROM php:7.2-apache
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
ARG version='3.22.4+200212'
|
||||
ARG sha256_checksum='de906ab9f685d69c3057c75ce339068b3bdabd50c574d92d90621ec729411af3'
|
||||
ARG version='3.22.25+200706'
|
||||
ARG sha256_checksum='30c0f4449bbe45b8b8e75d1e29edf90281385632680ef9e3d84176eadf9646b7'
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM php:7.2-fpm-alpine
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
ARG version='3.22.4+200212'
|
||||
ARG sha256_checksum='de906ab9f685d69c3057c75ce339068b3bdabd50c574d92d90621ec729411af3'
|
||||
ARG version='3.22.25+200706'
|
||||
ARG sha256_checksum='30c0f4449bbe45b8b8e75d1e29edf90281385632680ef9e3d84176eadf9646b7'
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM php:7.2-fpm
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
ARG version='3.22.4+200212'
|
||||
ARG sha256_checksum='de906ab9f685d69c3057c75ce339068b3bdabd50c574d92d90621ec729411af3'
|
||||
ARG version='3.22.25+200706'
|
||||
ARG sha256_checksum='30c0f4449bbe45b8b8e75d1e29edf90281385632680ef9e3d84176eadf9646b7'
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM php:7.2-apache
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
ARG version='4.1.4+200214'
|
||||
ARG sha256_checksum='f5df810b7a6160425a5798460af1be032daf883d67c1950b69084b741bfe026e'
|
||||
ARG version='4.3.3+200707'
|
||||
ARG sha256_checksum='8f0429c99c5090ded08403fa2cf5ce196f9feaba7b8cb31b47de6f96dbd5bc27'
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM php:7.2-fpm-alpine
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
ARG version='4.1.4+200214'
|
||||
ARG sha256_checksum='f5df810b7a6160425a5798460af1be032daf883d67c1950b69084b741bfe026e'
|
||||
ARG version='4.3.3+200707'
|
||||
ARG sha256_checksum='8f0429c99c5090ded08403fa2cf5ce196f9feaba7b8cb31b47de6f96dbd5bc27'
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
FROM php:7.2-fpm
|
||||
LABEL maintainer="markus@martialblog.de"
|
||||
ARG version='4.1.4+200214'
|
||||
ARG sha256_checksum='f5df810b7a6160425a5798460af1be032daf883d67c1950b69084b741bfe026e'
|
||||
ARG version='4.3.3+200707'
|
||||
ARG sha256_checksum='8f0429c99c5090ded08403fa2cf5ce196f9feaba7b8cb31b47de6f96dbd5bc27'
|
||||
|
||||
# Install OS dependencies
|
||||
RUN set -ex; \
|
||||
|
||||
19
README.md
19
README.md
@@ -19,7 +19,14 @@ See the example configuration provided.
|
||||
|
||||
# Using the fpm image
|
||||
|
||||
To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. See *docker-compose.fpm.yml* for example
|
||||
To use the fpm image, you need an additional web server that can proxy http-request to the fpm-port of the container. See *docker-compose.fpm.yml* for example.
|
||||
|
||||
# Using the fpm image with https
|
||||
If you would like to run the fpm setup with https, you can get a free certificate from Letsencrypt. As an example, the configuration in *docker-compose.fpm-certbot.yml*
|
||||
will take care of getting a certificate and installing it. Please note that you will have to adjust the domain name in the file *examples/nginx-certbot.conf* to match
|
||||
the domain used in the *HOSTNAMES* variable in the docker-compose configuration file. If you added both the a domain and the hostname *www* within the domain,
|
||||
*nginx-certbot.conf* needs to contain the domain without the hostname. E.g. if you set *"HOSTNAMES=example.org www.example.org"*, the path in *nginx-certbot.conf* needs
|
||||
to contain *example.org*.
|
||||
|
||||
# Using an external database
|
||||
|
||||
@@ -37,6 +44,8 @@ Path: */var/www/html/upload/surveys*
|
||||
|
||||
The entrypoint will create a new config.php if none is provided and run the LimeSurvey command line interface for installation.
|
||||
|
||||
**Hint**: Changing the *ADMIN_* configuration has no effect after the initial configuration. It's best to do this within the application.
|
||||
|
||||
To change to LimeSurvey configuration, you can mount a Volume into the Container at:
|
||||
|
||||
- /my-data/config.php:/var/www/html/application/config/config.php
|
||||
@@ -55,10 +64,10 @@ To change to LimeSurvey configuration, you can mount a Volume into the Container
|
||||
| DB_TABLE_PREFIX | Database table prefix |
|
||||
| DB_USERNAME | Database user |
|
||||
| DB_PASSWORD | Database user's password |
|
||||
| ADMIN_USER | LimeSurvey Admin User |
|
||||
| ADMIN_NAME | LimeSurvey Admin Username |
|
||||
| ADMIN_EMAIL | LimeSurvey Admin Email |
|
||||
| ADMIN_PASSWORD | LimeSurvey Admin Password |
|
||||
| ADMIN_USER | Initial LimeSurvey Admin User |
|
||||
| ADMIN_NAME | Initial LimeSurvey Admin Username |
|
||||
| ADMIN_EMAIL | Initial LimeSurvey Admin Email |
|
||||
| ADMIN_PASSWORD | Initial LimeSurvey Admin Password |
|
||||
| PUBLIC_URL | Public URL for public scripts |
|
||||
| URL_FORMAT | URL Format. path or get |
|
||||
|
||||
|
||||
49
docker-compose.fpm-certbot.yml
Normal file
49
docker-compose.fpm-certbot.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
version: "3.0"
|
||||
services:
|
||||
limesurvey:
|
||||
build:
|
||||
context: 4.0/fpm/
|
||||
dockerfile: Dockerfile
|
||||
volumes:
|
||||
- /tmp/upload/surveys:/var/www/html/upload/surveys
|
||||
- lime:/var/www/html
|
||||
links:
|
||||
- lime-db
|
||||
depends_on:
|
||||
- lime-db
|
||||
environment:
|
||||
- "DB_HOST=lime-db"
|
||||
- "DB_PASSWORD=secret"
|
||||
- "ADMIN_PASSWORD=foobar"
|
||||
lime-web:
|
||||
build:
|
||||
context: nginx-certbot/
|
||||
dockerfile: Dockerfile
|
||||
links:
|
||||
- limesurvey
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./examples/nginx-certbot.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/www:/var/www/certbot
|
||||
- lime:/var/www/html
|
||||
environment:
|
||||
- "HOSTNAMES=www.example.com example.com"
|
||||
certbot:
|
||||
image: certbot/certbot
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./certbot/conf:/etc/letsencrypt
|
||||
- ./certbot/www:/var/www/certbot
|
||||
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
|
||||
lime-db:
|
||||
image: mysql:5.7
|
||||
environment:
|
||||
- "MYSQL_USER=limesurvey"
|
||||
- "MYSQL_DATABASE=limesurvey"
|
||||
- "MYSQL_PASSWORD=secret"
|
||||
- "MYSQL_ROOT_PASSWORD=secret"
|
||||
volumes:
|
||||
lime:
|
||||
57
examples/nginx-certbot.conf
Normal file
57
examples/nginx-certbot.conf
Normal file
@@ -0,0 +1,57 @@
|
||||
worker_processes 1;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
server_tokens off;
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
location / {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
index index.php;
|
||||
set $host_path "/var/www/html";
|
||||
root /var/www/html;
|
||||
server_name _;
|
||||
charset utf-8;
|
||||
include /etc/nginx/mime.types;
|
||||
|
||||
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf;
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
||||
|
||||
location / {
|
||||
try_files $uri /index.php?$args;
|
||||
}
|
||||
location ~ ^/(protected|framework|themes/\w+/views) {
|
||||
deny all;
|
||||
}
|
||||
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
|
||||
try_files $uri =404;
|
||||
}
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(.*)$;
|
||||
try_files $uri index.php;
|
||||
include fastcgi_params;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_pass limesurvey:9000;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ http {
|
||||
listen 80;
|
||||
index index.php;
|
||||
set $host_path "/var/www/html";
|
||||
include /etc/nginx/mime.types;
|
||||
root /var/www/html;
|
||||
server_name localhost;
|
||||
charset utf-8;
|
||||
|
||||
10
nginx-certbot/Dockerfile
Normal file
10
nginx-certbot/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
||||
FROM nginx
|
||||
RUN apt-get update && \
|
||||
apt-get install -y certbot curl python-certbot-nginx && \
|
||||
apt-get -y autoclean; apt-get -y autoremove; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod 700 /entrypoint.sh
|
||||
|
||||
CMD ["/entrypoint.sh"]
|
||||
25
nginx-certbot/entrypoint.sh
Normal file
25
nginx-certbot/entrypoint.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
cert_path=/etc/letsencrypt/live/$(echo $HOSTNAMES | awk '{print $1}')
|
||||
mkdir -p cert_path
|
||||
|
||||
# if there is no certificate yet, get one
|
||||
email="--email $CERT_EMAIL"
|
||||
if [ -z $CERT_EMAIL ]
|
||||
then
|
||||
email='--register-unsafely-without-email'
|
||||
fi
|
||||
if [ ! -e $cert_path/privkey.pem ]
|
||||
then
|
||||
names=""
|
||||
for h in $HOSTNAMES
|
||||
do
|
||||
names=$(echo "$names -d $h")
|
||||
done
|
||||
echo "Getting new certificate..."
|
||||
/usr/bin/curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot-nginx/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf > /etc/letsencrypt/options-ssl-nginx.conf
|
||||
/usr/bin/curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem > /etc/letsencrypt/ssl-dhparams.pem
|
||||
/usr/bin/certbot certonly --standalone $names --agree-tos $email
|
||||
fi
|
||||
|
||||
nginx -g "daemon off;"
|
||||
Reference in New Issue
Block a user