Die derzeit sicherste Methode, Redis unter CasaOS zu betreiben, ist ein Docker-Container mit einem persistenten Datenvolume sowie expliziter Authentifizierung und Netzwerkfreigabe. Das Forum-Tutorial aus dem Jahr 2023 ist zu alt, um als vollständige Bereitstellungsanleitung verwendet zu werden, da sich die aktuellen Redis-Standardeinstellungen und Sicherheitserwartungen weiterentwickelt haben.
Beginnen Sie mit dem offiziellen Redis-Image, halten Sie Port 6379 auf das LAN oder das Docker-Netzwerk beschränkt, speichern Sie /data persistent und entscheiden Sie vor dem Ablegen von Anwendungsdaten, ob Sie AOF-/RDB-Persistenz benötigen.
Verwenden Sie das offizielle Redis-Image
Die aktuelle Redis-Docker-Anleitung dokumentiert das offizielle redis:<version>-Image und den Standardport 6379.
Verwenden Sie Docker Compose unter CasaOS
services:
redis:
image: redis:8
container_name: redis
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--requirepass", "CHANGE_ME"]
volumes:
- /DATA/AppData/redis/data:/data
ports:
- "127.0.0.1:6379:6379"
Ändern Sie das Passwort und passen Sie die Bind-Adresse nur an, wenn ein anderer Host tatsächlich direkten Zugriff auf Redis benötigt.
Persistieren Sie /data
Ohne ein Host-Volume befinden sich die Redis-Daten in der vergänglichen Containerschicht und können verschwinden, wenn der Container neu erstellt wird. Binden Sie /data an dauerhaften CasaOS-Speicher.
Wählen Sie die Persistenz bewusst
AOF protokolliert Schreibvorgänge und verbessert die Wiederherstellbarkeit, während RDB-Snapshots weniger Ressourcen benötigen. Ihre Anwendung toleriert Redis möglicherweise auch als flüchtigen Cache. Stimmen Sie den Persistenzmodus darauf ab, welche Rolle Redis für Sie übernimmt.
Setzen Sie Redis nicht direkt dem Internet aus
Port 6379 sollte nicht öffentlich weitergeleitet werden. Wenn eine andere Anwendung auf demselben Docker-Host läuft, legen Sie beide Container in ein privates Docker-Netzwerk und verbinden Sie sie über den Dienstnamen.
Verwenden Sie Authentifizierung und ACLs
Ein einzelnes requirepass ist für den Heimgebrauch unkompliziert. Das aktuelle Redis unterstützt außerdem ACLs für granularere Benutzer- und Befehlsberechtigungen. Lassen Sie eine aus der Ferne erreichbare Redis-Instanz niemals ohne Authentifizierung.
Testen Sie mit redis-cli
docker exec -it redis redis-cli -a CHANGE_ME ping
Ein gesunder Server sollte PONG zurückgeben.
Sichern Sie persistente Redis-Daten
Wenn Redis wichtige Daten enthält, stoppen Sie Schreibvorgänge oder koordinieren Sie sie und sichern Sie das persistente Volume entsprechend der gewählten RDB-/AOF-Methode. Gehen Sie nicht davon aus, dass ein Neustart des Containers einem Backup entspricht.
Die Docker-Bereitstellungsanleitung gilt gleichermaßen für benutzerdefinierte CasaOS-Apps.
Prüfen Sie die Speicherlimits vor dem Einsatz in der Produktion
Redis ist eine speicherorientierte Software. Überwachen Sie die tatsächliche Datensatzgröße und den Arbeitsspeicher des Hosts, statt davon auszugehen, dass eine geringe Anzahl von Schlüsseln automatisch einen geringen Speicherbedarf bedeutet. Ziehen Sie bei einem gemeinsam genutzten CasaOS-Host eine bewusst festgelegte maxmemory-Richtlinie erst in Betracht, nachdem Sie verstanden haben, wie Ihre Anwendung auf das Entfernen von Einträgen reagiert.
Verwenden Sie für Anwendungsabhängigkeiten ein privates Docker-Netzwerk
Wenn Redis nur für einen anderen Container wie eine Automatisierungsplattform oder Webanwendung benötigt wird, platzieren Sie beide Dienste in demselben privaten Docker-Netzwerk und verzichten Sie vollständig auf die Freigabe des Host-Ports. Die Anwendung kann über den Dienstnamen eine Verbindung zu redis:6379 herstellen.
Überprüfen Sie die Persistenz nach einer Neuerstellung des Containers
Schreiben Sie nach der Ersteinrichtung einen Testschlüssel, erstellen Sie den Container mit demselben Volume neu und prüfen Sie, ob der Schlüssel weiterhin verfügbar ist. Dieser einfache Test bestätigt, dass der Host-Pfad tatsächlich persistent ist, bevor eine wichtige Anwendung davon abhängt.
FAQ
Welchen Port verwendet Redis?
Standardmäßig 6379.
Soll ich 6379 an jede Schnittstelle binden?
Nein. Binden Sie den Port nur dort, wo er benötigt wird, vorzugsweise an localhost oder an einen privaten Docker-/LAN-Pfad.
Wo sollten die Redis-Daten gespeichert werden?
Binden Sie das Verzeichnis /data des Containers an persistenten CasaOS-Speicher.
Benötige ich RedisInsight?
Nein. Es handelt sich um eine optionale Verwaltungsoberfläche; Redis selbst funktioniert auch ohne sie.
