# [Anleitung] Redis-Cache für Nextcloud via Docker Compose einrichten
Hallo zusammen,
um eine Nextcloud spürbar zu beschleunigen und PHP-Sitzungen (Transactional File Locking) effizient zu verwalten, ist ein **Redis-In-Memory-Cache** unverzichtbar. Er entlastet die Datenbank massiv, verhindert Datei-Blockaden bei gleichzeitigen Zugriffen und sorgt für ein flüssiges Laden der Weboberfläche.
Hier ist das fertige Docker Compose Setup für euren eigenen Nextcloud-Redis-Server – komplett optimiert, um Ressourcen zu schonen.
### ⚠️ Wichtige Vorbereitung vor dem Kopieren:
In dieser Konfiguration wird Redis über den
ports-Bereich an eine feste IP-Adresse eures Docker-Servers gebunden (z. B.
DEINE_SERVER_IP:6379:6379). Ersetzt den Platzhalter
DEINE_SERVER_IP durch die reale lokale IP eures Docker-Hosts, damit eure Nextcloud den Cache-Server im Netzwerk erreichen kann.
---
### Der Docker Compose Stack
yaml
version: '3.8'
services:
# Der In-Memory Cache (Redis) für das Nextcloud-Tuning
redis:
image: redis:alpine
container_name: nextcloud-redis
restart: always
ports:
# Bindet Redis exakt an die IP deines Docker-Servers, um den Port nicht komplett offen ins Netz zu stellen
- "DEINE_SERVER_IP:6379:6379" # <--- HIER DIE IP DEINES DOCKER-SERVERS EINTRAGEN!
# TUNING-PARAMETER:
# --protected-mode no: Erlaubt der Nextcloud den Zugriff von außen / aus anderen Containern
# --maxmemory 512mb: Begrenzt den RAM-Verbrauch auf maximal 512 MB (Perfekt für kleine bis mittlere Instanzen)
# --maxmemory-policy allkeys-lru: Löscht automatisch die am längsten nicht genutzten Cache-Daten, wenn der RAM voll ist
# --save "": Deaktiviert das permanente Schreiben auf die Festplatte (Schont die SSD vor unnötigem Verschleiß!)
command: redis-server --protected-mode no --maxmemory 512mb --maxmemory-policy allkeys-lru --save ""
volumes:
- redis_data:/data
volumes:
redis_data:
---
### ⚙️ Einbindung in die Nextcloud
config.php
Damit eure Nextcloud den neuen Redis-Cache auch aktiv nutzt, müsst ihr euch in das Nextcloud-Verzeichnis begeben und die Datei
config/config.php öffnen. Fügt dort vor der schließenden Klammer
); folgenden Konfigurationsblock hinzu:
php
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' =>
array (
'host' => 'DEINE_SERVER_IP', // <--- HIER DIE IP DEINES REDIS-SERVERS EINTRAGEN!
'port' => 6379,
'timeout' => 0.0,
),
Speichert die Datei ab. Eure Nextcloud nutzt ab sofort den schnellen Arbeitsspeicher-Cache, und die Ladezeiten eurer Cloud-Instanz werden spürbar sinken!