Skip to content

Redis Stack?

Redis
  • Für meine Flask & Python Projekt nutze ich schon lange Redis. Redis ist ein "in-memory data store" Normalerweise läuft dafür ein Docker Container auf meinem Haupt-PC, den ich mal vor langer Zeit aufgesetzt hatte. So weit lief auch alles gut.

    Bedingt durch den Versuch, die Flask Anwendung auf meinem 2. PC zu installieren, ergaben sich einige neue Erkenntnisse. Ich hatte dann erst auf dem 2. PC ebenfalls mit einem Docker Container rum gespielt, dabei hatte ich aber das Problem das meine Datenbank nicht akzeptiert wurde.

    Ich habe lange gebraucht um zu kapieren, das Redis ungleich Redis Stack ist. Und damals, wo ich den Docker Container aufgesetzt hatte, hatte ich Redis Stack installiert.

    Redis Stack Server lets you build applications with searchable JSON and time series data models, and extended probabilistic data structures.
    Quelle: https://redis.io/

    Ich habe gerade nochmal in der DB nachgesehen, ich nutze keine dieser zusätzlichen Funktionen. Also müsste ich die Daten alle mühsam extrahieren und in einer einfachen Redis DB wieder installieren.

    Ok, es war also klar das ich einen Redis Stack Server an zentraler Stelle in meinem Netzwerk bräuchte, damit ich von jedem PC aus darauf zugreifen könnte. Als Ort fällt mir da natürlich mein Proxmox ein.

    Bei ersten Versuchen der Installation von Redis Stack schnell drüber gestolpert, das es das aktuell nur für Debian 11 gibt. Ja, die Docker Generation 🙂 Da ich das aber nicht als Docker laufen lassen wollte, musste ich wohl oder übel ein Debian 11 aufsetzen.

    Es gibt auch noch zwei Versionen von Redis Stack

    • Redis Stack Server
    • Redis Stack

    Redis Stack enthält auch noch die Desktop Application RedisInsight, das ist eine Redis GUI. Damit kann man sich die DB ansehen und auch bearbeiten. Das läuft lokal auf meinem Haupt-PC, brauche ich also nicht auf einem Server. Der Server hat ja auch keine GUI. Also war klar, ich brauchte einen Redis Stack Server.

    Zur Installation von Redis Stack Server, findet man das hier auf redis.io

    Kurze Zeit später lief die Debian 11 VM mit Redis Stack Server.

    frank@redis-stack:~$ pstree
    systemd─┬─agetty
            ├─cron
            ├─dbus-daemon
            ├─dhclient───3*[{dhclient}]
            ├─qemu-ga───{qemu-ga}
            ├─redis-server───8*[{redis-server}]
            ├─rsyslogd───3*[{rsyslogd}]
            ├─sshd───sshd───sshd───bash───pstree
            ├─systemd───(sd-pam)
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-timesyn───{systemd-timesyn}
            └─systemd-udevd
    

    Interessant bei Redis ist immer, wo liegt die Konfigurations Datei und wo die Datenbank? Dazu sollte man sich als erstes immer mal den SystemD Dienst ansschauen.

    redis-stack-server.service

    [Unit]
    Description=Redis stack server
    Documentation=https://redis.io/
    After=network.target
    
    [Service]
    Type=simple
    User=redis
    ExecStart=/opt/redis-stack/bin/redis-server /etc/redis-stack.conf
    WorkingDirectory=/var/lib/redis-stack
    UMask=0077
    
    [Install]
    WantedBy=multi-user.target
    

    Das erste was ich gemacht habe, sen User geändert. Stand auf nobody(?) oder so. Ich habe erst mal einen User dafür angelegt.

    useradd -M -s /usr/sbin/nologin redis
    

    Die Konfiguration findet man unter

    /etc/redis-stack.conf
    

    So sieht meine aus

    port 6379
    daemonize no
    requirepass <PASSWORD>
    save 60 1
    #save 900 1
    save 300 10
    save 60 10000
    stop-writes-on-bgsave-error yes
    rdbcompression yes
    rdbchecksum yes
    dbfilename dump.rdb
    dir /var/lib/redis-stack
    loadmodule /opt/redis-stack/lib/rediscompat.so
    loadmodule /opt/redis-stack/lib/redisearch.so
    loadmodule /opt/redis-stack/lib/redistimeseries.so
    loadmodule /opt/redis-stack/lib/rejson.so
    loadmodule /opt/redis-stack/lib/redisbloom.so
    loadmodule /opt/redis-stack/lib/redisgears.so v8-plugin-path /opt/redis-stack/lib/libredisgears_v8_plugin.so
    

    Mit diesen beiden Zeilen

    dbfilename dump.rdb
    dir /var/lib/redis-stack
    

    legt man fest, wo die Datenbank liegt. Unter /var/lib/redis-stack/ findet man dann die Datenbank dump.rdb. Bitte darauf achten, das die Dateiberechtigungen alle passen.

     chown -R redis:redis /var/lib/redis-stack/
    

    Nach einem Neustart, sollte die Redis Datenbank nun mit meiner Datenbank laufen.

    systemctl restart redis-stack-server.service
    

    Wie testet man die Verbindung?

    Einmal kann man das lokal machen. Mit dem Tool redis-cli

    root@redis-stack:/var/lib/redis-stack# redis-cli
    127.0.0.1:6379> 
    

    Wenn man jetzt die Datenbank auswählen möchte, kommt das

    127.0.0.1:6379> SELECT 0
    (error) NOAUTH Authentication required.
    

    Ok, die Datenbank ist mittels Passwort geschützt. Mit AUTH kann man sich authentifizieren.

    127.0.0.1:6379> AUTH <PASSWORD>
    OK
    

    Danach kann man dann die Datenbank wählen und schauen ob was drin ist.

    127.0.0.1:6379> SELECT 0
    OK
    127.0.0.1:6379> KEYS *
    1) "settings"
    127.0.0.1:6379> 
    

    Das kann man auch von extern machen, da aktuell die Redis Datenbank auf alle Netzwerkverbindungen lauscht. Wenn man das nicht möchte, kann man das auch entsprechend einstellen. Hier nicht erläutert.

    Von extern, muss man dann den Host angeben.

    frank@debian:~$ redis-cli -h 192.168.3.9
    192.168.3.9:6379> 
    

    Rest, siehe oben. Danach weiß man ob alles so weit funktioniert. Und zum Schluss noch ein Screenshot vom RedisInsight Tool.

    Screenshot_20240319_143044.png

  • FrankMF FrankM hat am auf dieses Thema verwiesen

  • Nextcloud Hub8 (29.0.0) released

    Nextcloud
    2
    0 Stimmen
    2 Beiträge
    102 Aufrufe
    FrankMF

    Ich möchte hier aber auch nicht unterschlagen, dass viele der Neuerungen bei meiner Installation nicht funktionieren. Hauptsächlich Funktionen im Zusammenhang mit der neuen Teams Funktion.

    Da ich schon sehr lange Nextcloud nutze, kenne ich das von den 0.0er Versionen. Da braucht es erst mal ein paar Updates, bis das fehlerfrei funktioniert.

  • VisionFive2 - Armbian

    Software
    1
    0 Stimmen
    1 Beiträge
    40 Aufrufe
    Niemand hat geantwortet
  • Rest-Server v0.12.0 released

    Restic
    1
    0 Stimmen
    1 Beiträge
    66 Aufrufe
    Niemand hat geantwortet
  • Firefox mit .deb Paket

    Linux
    3
    0 Stimmen
    3 Beiträge
    108 Aufrufe
    FrankMF

    Wer auch wie ich das Problem hat, das manche Webseiten keinen Text mehr anzeigen. Ich habe da was gefunden.

    Link Preview Image Flatpak Firefox 112 not showing (some? bitmap?) fonts in Debian

    favicon

    (neilzone.co.uk)

  • Debian Bookworm 12 - Test

    Linux
    6
    0 Stimmen
    6 Beiträge
    383 Aufrufe
    FrankMF

    Es scheint sich was zu tuen. Ein paar Probleme, gehören der Vergangenheit an. Bitte beachten, ich nutze fast ausschließlich Wayland!

    e0c00b53-8f25-4b52-97a3-6fd49a2c5638-grafik.png

    Problem VLC

    Ich nutze zum TV schauen gerne die Listen der Fritzbox. Damit kann man einfach im VLC TV schauen und umschalten usw. Problem war, das sehr oft, das Umschalten nicht korrekt funktionierte. Das scheint mittlerweile gefixt zu sein. DANKE!

    56648116-4bbb-461c-b7fd-4a344cc12749-grafik.png

    Problem KDE Desktop

    Der KDE Desktop konnte sich die Positionen der Icons nicht "merken". Ich sortiere die gerne, so das ich die TV-Listen z.B. immer unten rechts vorfinde. Das ging leider lange nicht. Mittlerweile scheint das nervige Problem gefixt zu sein. Ich habe eben sogar extra dafür neugestartet um zu sehen, das die Positionen erhalten bleiben. DANKE!

    63f71f34-c208-4b98-b0e9-54c94f3d19f2-grafik.png

    Fazit

    Somit bleibt aktuell noch ein Problem, das wäre OBS. Dafür muss ich aktuell noch immer auf eine X11 Session umschalten. Bitte fixen!

    Es sieht auch so aus, das am KDE Plasma Desktop recht aktiv gearbeitet wird. Da kommen sehr oft, sehr viele neue Pakete rein. Nein, ich benutze kein Testing, ich bin aktuell auf dem Stable Zweig.

    So langsam wird der KDE Plasma Desktop - unter Wayland - rund!

    Bitte beachten, die Wayland Erfahrung hängt extrem von der GPU ab. Unter NVidia wird das auch heute keinen Spaß machen. Mit eingebauter AMD GPU und Intel GPU solltet ihr sehr wenige Probleme haben.

    Das dürfte auch der Grund sein, warum immer mehr Distributionen ankündigen, in Zukunft nur noch auf Wayland zus setzen.

    Link Preview Image It's Final: Fedora 40 to Offer Plasma 6, Drops X11 Entirely

    FESCo members voted 6+1 to include KDE Plasma 6 with Wayland as the only desktop mode available in Fedora 40. Here's more on that!

    favicon

    Linuxiac (linuxiac.com)

  • NanoPi R2S - OpenWRT VLAN

    Verschoben NanoPi R2S
    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    FrankMF

    @thrakath1980 Ok, du meinst die FriendlyArm Variante von OpenWRT. Ich denke, da sollte man besser alles neu machen. Leider ist das bei OpenWRT nicht so einfach zu updaten/upgraden wie z.B. bei einem Linux Kernel. Ich habe es mal runtergeladen, wenn ich mal Zeit habe, schau ich mal rein.

  • Wenn dir der Redis-Server flöten geht....

    Verschoben Redis
    3
    0 Stimmen
    3 Beiträge
    525 Aufrufe
    FrankMF

    So, nach einer kleinen Pause und ein wenig nachdenken ist mir doch noch was eingefallen 😉

    Backports! Man so einfach!

    nano /etc/apt/sources.list

    Das folgende eintragen.

    # backports deb http://deb.debian.org/debian stretch-backports main

    Danach ein

    apt update

    Und dann schauen wir uns mal die Version an....

    apt -t stretch-backports search redis-server Sorting... Done Full Text Search... Done golang-github-stvp-tempredis-dev/stretch-backports 0.0~git20160122.0.83f7aae-1~bpo9+1 all Go package to start and stop temporary redis-server processes libtest-redisserver-perl/oldstable,oldstable 0.20-1 all redis-server runner for tests python-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python 2.X using hiredis python3-hiredis/oldstable,oldstable 0.2.0-1+b2 amd64 redis protocol reader for Python using hiredis redis/stretch-backports 5:5.0.3-3~bpo9+2 all Persistent key-value database with network interface (metapackage) redis-server/stretch-backports 5:5.0.3-3~bpo9+2 amd64 [residual-config] Persistent key-value database with network interface

    Und die habe ich gestern Abend gebaut.

    127.0.0.1:6379> INFO # Server redis_version:5.0.5

    Ok, das schmerzt jetzt 😛

  • Redis installieren

    Angeheftet Verschoben Redis
    1
    0 Stimmen
    1 Beiträge
    360 Aufrufe
    Niemand hat geantwortet