Cache & Session Konfiguration
Über .env Datei lassen sich der Cache und die Verarbeitung der Sessions (Sitzungen) anpassen.
.env Konfigurationsdatei
{{@119}}
Cache & Sitzungsspeicher
In der Standard Einstellung nutzt Bookstack das lokale Dateisystem als Cache. Darin sind neben dem Cache auch die Sitzungsdaten der Benutzer gespeichert. Um die Performance zu verbessern, können andere Systeme anstelle des lokalen Dateisystems verwendet werden, welche im folgenden vorgestellt werden.
Datenbank
Die am einfachsten einzurichtende Alternative ist das Speichern des Caches in der bereits für die Daten genutzten Datenbank. Dazu reicht es die folgenden beiden Zeilen in der .env Datei zu ergänzen und den Container neuzustarten.
CACHE_DRIVER=database
SESSION_DRIVER=database
Memcached
Um Memcached als Cache nutzen zu können, muss natürlich ein Memcached-Server vorhanden sein, der von Bookstack genutzt werden kann. Sobald ein solcher Server bereit steht, kann die .env Konfiguration angepasst werden.
CACHE_DRIVER=memcached
SESSION_DRIVER=memcached
MEMCACHED_SERVERS=127.0.0.1:11211:100
Neu ist nun die 3. Zeile, in der der Memcached Server zu definieren ist. Die localhost-IP ist dann durch die richtige IP oder den Hostname auszutauschen. Es können auch mehrere Server angegeben werden. Dabei spielt die Zahl hinter dem letzten Doppelpunkt eine entscheidende Rolle, die gibt die Gewichtung des Servers an.
Ein Memcached Server ist schnell bereitgestellt, dazu einfach die bisherige Docker Compose Datei für Bookstack um folgenden Dienst erweitern.
bookstack_cache:
image: memcached
container_name: bookstack_cache
restart: unless-stopped
{{@122}}
Redis
Im Prinzip erfolgt die Konfiguration genauso wie bei Memcached. Nur das die Zahl nach dem letzten Doppelpunkt nun nicht die Gewichtung, sondern die Datenbank angibt.
CACHE_DRIVER=redis
SESSION_DRIVER=redis
REDIS_SERVERS=127.0.0.1:6379:0
Session Cookie konfigurieren
# Only send cookies over a HTTPS connection.
# Ensure you have BookStack served over HTTPS before enabling.
# Defaults to 'false'
SESSION_SECURE_COOKIE=true
# Set the name of the cookie used by BookStack to track sessions.
# Defaults to 'bookstack_session'
SESSION_COOKIE_NAME=custom_cookie_name
Session Timeouts
Im Standard wird ein Benutzer nach 2 Stunden Inaktivität automatisch ausgeloggt. Diese Zeitspanne kann ebenfalls in der .env angepasst werden.
# Session lifetime in minutes.
# Defaults to 120
SESSION_LIFETIME=240