Wiki source code of LimeSurvey

Version 1.2 by chrisby on 2023/09/03 22:56

Hide last authors
chrisby 1.1 1 **docker-compose.yml**
2
3 {{code language="yaml"}}
4 version: "3.3"
5
6 volumes:
7 traefik:
8 limesurvey-web:
9 limesurvey-db:
10
11 services:
12 traefik:
chrisby 1.2 13 image: "traefik:v2.10.4"
chrisby 1.1 14 container_name: "traefik"
15 restart: unless-stopped
16 command:
17 - "--api.insecure=true"
18 - "--providers.docker=true"
19 - "--providers.docker.exposedbydefault=false"
20 - "--entrypoints.websecure.address=:443"
21 - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
22 # - "--certificatesresolvers.myresolver.acme.email=<email>"
23 - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
24 # Uncomment for test mode. This allows detailed logging and creation of a fake certificate.
25 # - "--log.level=DEBUG"
26 # - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
27 ports:
28 - "443:443"
29 volumes:
30 - "traefik:/letsencrypt"
31 - "/var/run/docker.sock:/var/run/docker.sock:ro"
32
33 limesurvey-web:
chrisby 1.2 34 image: martialblog/limesurvey:6.2.4-230825-apache
chrisby 1.1 35 container_name: limesurvey-web
36 restart: unless-stopped
37 volumes:
38 - limesurvey-web:/var/www/html/upload/surveys
39 depends_on:
40 - limesurvey-db
41 environment:
42 - "DB_HOST=limesurvey-db"
43 - "DB_PASSWORD=<DB_USER_PASSWORD>"
44 - "ADMIN_PASSWORD=<ADMIN_PASSWORD>"
45 labels:
46 - "traefik.enable=true"
47 - "traefik.http.routers.limesurvey.rule=Host(`<subdomain>`)"
48 - "traefik.http.routers.limesurvey.entrypoints=websecure"
49 - "traefik.http.routers.limesurvey.tls.certresolver=myresolver"
50 - "traefik.http.services.limesurvey.loadbalancer.server.port=8080"
51
52 limesurvey-db:
chrisby 1.2 53 image: docker.io/mysql:5.7.43
chrisby 1.1 54 container_name: limesurvey-db
55 restart: unless-stopped
56 environment:
57 - "MYSQL_USER=limesurvey"
58 - "MYSQL_DATABASE=limesurvey"
59 - "MYSQL_PASSWORD=<DB_USER_PASSWORD>"
60 - "MYSQL_ROOT_PASSWORD=<DB_ROOT_PASSWORD>"
61 volumes:
62 - limesurvey-db:/var/lib/mysql
63 {{/code}}
64
65 * Execute {{code language="none"}}docker-compose up -d{{/code}}
66 * Go to {{code language="none"}}https://<subdomain>/index.php/admin{{/code}}
67 * Login as "admin" using the "<ADMIN_PASSWORD>"