Kurzbeschreibung
Diese Anleitung beschreibt die Installation von LimeSurvey auf einer Synology NAS mit Portainer.
Die Daten werden persistent unter folgendem Pfad gespeichert:
/volume1/docker/limesurvey/
Mit dieser Anleitung wird LimeSurvey als Docker-Stack mit folgenden Komponenten eingerichtet:
!!! success Erfolgreiches Ziel
Nach Abschluss dieser Anleitung läuft LimeSurvey lokal im Netzwerk über Portainer und kann anschließend bei Bedarf per Domain veröffentlicht werden.
Vor Beginn sollten folgende Punkte erfüllt sein:
!!! warning Empfehlung
Zuerst die Installation lokal im Heimnetz testen und erst danach einen Reverse Proxy oder HTTPS einrichten.
Für diese Installation wird folgender Basispfad verwendet:
/volume1/docker/limesurvey/
Folgende Unterordner werden benötigt:
/volume1/docker/limesurvey/
├── db
├── uploads
├── plugins
└── config
| Ordner | Zweck |
|---|---|
db |
Speichert die MariaDB-Datenbankdateien |
uploads |
Speichert hochgeladene Dateien und Umfrage-Uploads |
plugins |
Enthält zusätzliche LimeSurvey-Plugins |
config |
Enthält die persistente LimeSurvey-Konfiguration |
!!! info Hinweis
Durch diese Struktur bleiben Daten, Uploads, Plugins und Konfiguration auch nach Container-Neustarts oder Updates erhalten.
volume1/docker/ wechselndbuploadspluginsconfigFalls SSH auf der Synology aktiviert ist, können die Ordner auch per Shell erstellt werden:
mkdir -p /volume1/docker/limesurvey/db
mkdir -p /volume1/docker/limesurvey/uploads
mkdir -p /volume1/docker/limesurvey/plugins
mkdir -p /volume1/docker/limesurvey/config
!!! tip Praxistipp
Wenn du später Backups automatisierst, ist diese klare Ordnerstruktur deutlich einfacher zu sichern und wiederherzustellen.
Als Stack-Name wird empfohlen:
limesurvey
Den folgenden Inhalt vollständig in den Web-Editor von Portainer einfügen:
services:
mariadb:
image: mariadb:10.11
container_name: limesurvey-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: MeinSehrSicheresRootPasswort
MYSQL_DATABASE: limesurvey
MYSQL_USER: limesurvey
MYSQL_PASSWORD: MeinSehrSicheresDBPasswort
TZ: Europe/Berlin
volumes:
- /volume1/docker/limesurvey/db:/var/lib/mysql
networks:
- limesurvey_net
limesurvey:
image: martialblog/limesurvey:6.16.16-260408-apache
container_name: limesurvey-app
restart: unless-stopped
depends_on:
- mariadb
ports:
- "8088:8080"
environment:
DB_TYPE: mysql
DB_HOST: mariadb
DB_PORT: 3306
DB_NAME: limesurvey
DB_USERNAME: limesurvey
DB_PASSWORD: MeinSehrSicheresDBPasswort
ADMIN_USER: admin
ADMIN_NAME: Administrator
ADMIN_EMAIL: admin@deinedomain.de
ADMIN_PASSWORD: MeinSehrSicheresAdminPasswort
PUBLIC_URL: http://DEINE-SYNOLOGY-IP:8088
URL_FORMAT: path
SHOW_SCRIPT_NAME: "false"
LISTEN_PORT: 8080
TZ: Europe/Berlin
volumes:
- /volume1/docker/limesurvey/uploads:/var/www/html/upload/surveys
- /volume1/docker/limesurvey/plugins:/var/www/html/plugins
- /volume1/docker/limesurvey/config:/var/www/html/application/config
networks:
- limesurvey_net
networks:
limesurvey_net:
driver: bridge
!!! warning Wichtig
Die Platzhalter für Passwörter, E-Mail-Adresse und PUBLIC_URL müssen vor dem Deploy angepasst werden.
Vor dem Start des Stacks müssen folgende Werte angepasst werden:
Diese Platzhalter unbedingt ersetzen:
MeinSehrSicheresRootPasswortMeinSehrSicheresDBPasswortDiese Werte anpassen:
ADMIN_EMAILADMIN_PASSWORDDiesen Wert anpassen:
PUBLIC_URL: http://DEINE-SYNOLOGY-IP:8088
PUBLIC_URL: http://192.168.178.20:8088
PUBLIC_URL: https://survey.deinedomain.de
!!! danger Achtung
Eine falsche PUBLIC_URL kann zu fehlerhaften Weiterleitungen, Login-Problemen oder unvollständig geladenen Seiten führen.
DB_TYPE: mysql
DB_HOST: mariadb
DB_PORT: 3306
DB_NAME: limesurvey
DB_USERNAME: limesurvey
DB_PASSWORD: MeinSehrSicheresDBPasswort
ADMIN_USER: admin
ADMIN_NAME: Administrator
ADMIN_EMAIL: admin@deinedomain.de
ADMIN_PASSWORD: MeinSehrSicheresAdminPasswort
ports:
- "8088:8080"
Bedeutung:
Dadurch ist LimeSurvey lokal unter folgender Adresse erreichbar:
http://DEINE-SYNOLOGY-IP:8088
Nach dem Einfügen und Anpassen:
Danach sollten zwei Container vorhanden sein:
limesurvey-dblimesurvey-app!!! success Erwartetes Ergebnis
Beide Container werden nach kurzer Initialisierung mit dem Status running angezeigt.
In Portainer:
Wenn ein Container nicht läuft:
!!! info Hinweis
Startet die Datenbank langsamer als LimeSurvey, kann sich der erste saubere Start kurz verzögern. In diesem Fall die Logs beider Container kontrollieren.
Nach erfolgreichem Start kann LimeSurvey im Browser geöffnet werden:
http://DEINE-SYNOLOGY-IP:8088
Beispiel:
http://192.168.178.20:8088
Der Admin-Bereich ist in der Regel unter folgender Adresse erreichbar:
http://DEINE-SYNOLOGY-IP:8088/index.php/admin
Dort mit den im Stack gesetzten Zugangsdaten anmelden.
!!! warning Hinweis zur Erstinitialisierung
Die Variablen ADMIN_USER, ADMIN_EMAIL und ADMIN_PASSWORD gelten in erster Linie für die erste Einrichtung.
Wenn LimeSurvey bereits initialisiert wurde, werden spätere Änderungen an diesen Werten meistens nicht automatisch übernommen.
Für den externen Zugriff empfiehlt sich eine eigene Subdomain, zum Beispiel:
survey.deinedomain.de
Diese Lösung ist sauberer als ein Unterordner wie:
deinedomain.de/limesurvey
PUBLIC_URL auf die endgültige HTTPS-Adresse ändernPUBLIC_URL: https://survey.deinedomain.de
Wenn Nginx Proxy Manager verwendet wird:
survey.deinedomain.dehttp8088Danach:
!!! tip Empfehlung
Nutze für LimeSurvey möglichst eine eigene Subdomain statt eines Unterordners. Das vermeidet in der Praxis häufig Probleme mit Weiterleitungen und Pfaden.
Für produktive Umgebungen empfiehlt sich ein fester Image-Tag statt latest.
Beispiel:
image: martialblog/limesurvey:6.16.16-260408-apache
uploads, plugins und config erstellen!!! warning Vor jedem Update
Niemals ohne Backup aktualisieren. Besonders wichtig sind Datenbank, Uploads und Konfiguration.
Folgende Pfade sollten regelmäßig gesichert werden:
/volume1/docker/limesurvey/db/volume1/docker/limesurvey/uploads/volume1/docker/limesurvey/plugins/volume1/docker/limesurvey/config!!! success Sicherungsziel
Mit diesen vier Verzeichnissen lässt sich die Installation im Regelfall vollständig wiederherstellen.
Prüfen:
limesurvey-app?8088 frei?Prüfen:
limesurvey-db?DB_NAME, DB_USERNAME und DB_PASSWORD?Prüfen:
/volume1/docker/limesurvey/?Prüfen:
PUBLIC_URL korrekt?Wenn LimeSurvey bereits installiert wurde, greifen Änderungen an ADMIN_PASSWORD im Stack meistens nicht rückwirkend. Das Passwort muss dann direkt in LimeSurvey geändert werden.
!!! info Wartungsempfehlung
Dokumentiere IP, Domain, Port, Container-Namen und verwendete Zugangsdaten zusätzlich in deinem internen Wiki, damit spätere Wartung einfacher wird.
Mit dieser Konfiguration erhältst du eine saubere LimeSurvey-Installation auf Synology mit Portainer:
/volume1/docker/limesurvey/http://DEINE-SYNOLOGY-IP:8088
http://DEINE-SYNOLOGY-IP:8088/index.php/admin
/volume1/docker/limesurvey/
limesurvey-dblimesurvey-app