mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-07 08:59:23 +01:00
Hey! Thanks a lot for this repo. I think I'd be nice to add the link to the repo in the README so when people read that part in the Docker Hub, can just jump here straight away.
109 lines
4.8 KiB
Markdown
109 lines
4.8 KiB
Markdown
[](https://travis-ci.org/martialblog/docker-limesurvey)
|
|
[](https://microbadger.com/images/martialblog/limesurvey "Get your own image badge on microbadger.com")
|
|
|
|
# LimeSurvey Docker
|
|
|
|
Dockerfile to build a [LimeSurvey](https://limesurvey.org) Image for the Docker container platform.
|
|
|
|
# Using the apache image
|
|
|
|
The apache image comes with an Apache Webserver and PHP installed.
|
|
|
|
# Apache Configuration
|
|
|
|
To change to Apache Webserver configuration, mount a Volume into the Container at:
|
|
|
|
- /etc/apache2/sites-available/000-default.conf
|
|
|
|
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.
|
|
|
|
# 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
|
|
|
|
LimeSurvey requires an external database (MySQL, PostgreSQL) to run. See *docker-compose.yml* for example.
|
|
|
|
# Persistent data
|
|
|
|
To preserve the uploaded files assign the upload folder into a volume. See *docker-compose.yml* for example.
|
|
|
|
Path: */var/www/html/upload/surveys*
|
|
|
|
**Hint**: The mounted directory must be owned by the webserver user (e.g. www-data)
|
|
|
|
# LimeSurvey Configuration
|
|
|
|
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
|
|
|
|
**Hint**: If this configuration is present before the installation, the LimeSurvey Web Installer will not run automatically.
|
|
|
|
## Data Encryption
|
|
|
|
LimeSurvey 4 supports data encryption, this image give you these options:
|
|
|
|
* Provide a security.php file directly (volume)
|
|
* Provide encryption keys for the security.php file (environment variables)
|
|
* Provide nothing and get a non-persistent security.php file
|
|
|
|
For further details on the settings see: https://manual.limesurvey.org/Data_encryption
|
|
|
|
# Environment Variables
|
|
|
|
| Parameter | Description |
|
|
| --------- | ----------- |
|
|
| DB_TYPE | Database Type to use. mysql or pgsql |
|
|
| DB_HOST | Database server hostname |
|
|
| DB_PORT | Database server port |
|
|
| DB_SOCK | Database unix socket instead of host/port |
|
|
| DB_NAME | Database name |
|
|
| DB_TABLE_PREFIX | Database table prefix |
|
|
| DB_USERNAME | Database user |
|
|
| DB_PASSWORD | Database user's 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 |
|
|
| DEBUG | Debug level (0, 1, 2). Default: 0 |
|
|
| DEBUG_SQL | SQL Debug level (0, 1, 2). Default 0 |
|
|
| ENCRYPT_KEYPAIR | Data encryption keypair |
|
|
| ENCRYPT_PUBLIC_KEY | Data encryption public key |
|
|
| ENCRYPY_SECRET_KEY | Data encryption secret key |
|
|
|
|
For further details on the settings see: https://manual.limesurvey.org/Optional_settings#Advanced_Path_Settings
|
|
|
|
# Running this image 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).
|
|
|
|
```
|
|
docker-compose up
|
|
|
|
# Frontend
|
|
http://localhost:8080/
|
|
|
|
# Backend
|
|
http://localhost:8080/index.php/admin
|
|
```
|
|
|
|
# References
|
|
|
|
- https://www.limesurvey.org/
|
|
- https://github.com/LimeSurvey/LimeSurvey/
|