diff --git a/playbooks/aur-dev.archlinux.org.yml b/playbooks/aur-dev.archlinux.org.yml
index 2392183ac3ed5e16f2ebf1281bc70d8ab644544b..e2c4189d956cc32aee661e27c8a738733932a2c8 100644
--- a/playbooks/aur-dev.archlinux.org.yml
+++ b/playbooks/aur-dev.archlinux.org.yml
@@ -10,7 +10,7 @@
     - { role: nginx }
     - { role: mariadb, mariadb_innodb_buffer_pool_size: '1G' }
     - { role: sudo }
-    - { role: redis }
+    - { role: valkey }
     - { role: uwsgi }
     - { role: aurweb, aurweb_domain: "{{ aurdev_fqdn }}", aurweb_environment_type: 'dev' }
     - { role: fail2ban }
diff --git a/playbooks/aur.archlinux.org.yml b/playbooks/aur.archlinux.org.yml
index b5c60ea11d2f603adba834f051f5ffd68e0558fe..a44f93e5435efb60e4bbbfe5b7086ac0042d316e 100644
--- a/playbooks/aur.archlinux.org.yml
+++ b/playbooks/aur.archlinux.org.yml
@@ -11,7 +11,7 @@
     - { role: nginx }
     - { role: mariadb, mariadb_innodb_buffer_pool_size: '1G' }
     - { role: sudo }
-    - { role: redis }
+    - { role: valkey }
     - { role: uwsgi }
     - { role: borg_client, tags: ["borg"] }
     - { role: postfix_null }
diff --git a/roles/matrix/files/synapse.service b/roles/matrix/files/synapse.service
index 7e0b4f7143069796e6274f1da9943025eb30256c..2361d456e0c2d19d9f92c8b5397ed519aeec6ebb 100644
--- a/roles/matrix/files/synapse.service
+++ b/roles/matrix/files/synapse.service
@@ -1,8 +1,8 @@
 [Unit]
 Description=Synapse Matrix homeserver
-Requires=postgresql.service redis.service
+Requires=postgresql.service valkey.service
 Wants=turnserver.service
-After=network.target postgresql.service redis.service turnserver.service
+After=network.target postgresql.service valkey.service turnserver.service
 AssertPathExists=/etc/synapse/homeserver.yaml
 
 [Service]
diff --git a/roles/matrix/tasks/main.yml b/roles/matrix/tasks/main.yml
index b104b144365cf1d91f93a1c5db7ad4d3d5db26b7..53905f315a90b7bff36e86c255a218fb13c4b602 100644
--- a/roles/matrix/tasks/main.yml
+++ b/roles/matrix/tasks/main.yml
@@ -28,10 +28,10 @@
       - pkgconf
       - postgresql-libs
       - python
-      - redis
       - rust
       - tcl
       - tk
+      - valkey
       - yarn
       - zlib
 
diff --git a/roles/redis/tasks/main.yml b/roles/redis/tasks/main.yml
deleted file mode 100644
index 12203cd594f08711e266e103da357827804f2368..0000000000000000000000000000000000000000
--- a/roles/redis/tasks/main.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-- name: Install redis
-  pacman: name=redis state=present
-
-- name: Start and enable redis
-  service: name=redis enabled=yes state=started
diff --git a/roles/rspamd/meta/main.yml b/roles/rspamd/meta/main.yml
index 422d71afa64083518ba518016ff4a0072254c7d7..b9a6cd67aa0bea758f5e50a0456c7122f4cb98b2 100644
--- a/roles/rspamd/meta/main.yml
+++ b/roles/rspamd/meta/main.yml
@@ -3,4 +3,4 @@ galaxy_info:
   standalone: false
 
 dependencies:
-  - role: redis
+  - role: valkey
diff --git a/roles/valkey/tasks/main.yml b/roles/valkey/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..31e823cc820cea6c9ba8199210512f4b4334b91f
--- /dev/null
+++ b/roles/valkey/tasks/main.yml
@@ -0,0 +1,5 @@
+- name: Install valkey
+  pacman: name=valkey state=present
+
+- name: Start and enable valkey
+  service: name=valkey enabled=yes state=started