🐳 Migrate from Redis to Valkey (#6666)

This commit is contained in:
David Barragán Merino 2025-06-10 10:08:10 +02:00 committed by GitHub
parent 5faa619bc4
commit b385f055e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 20 additions and 13 deletions

View file

@ -12,6 +12,13 @@ The initial prototype is completly reworked for provide a more consistent API
and to have proper validation and params decoding. All the details can be found and to have proper validation and params decoding. All the details can be found
on [its own changelog](library/CHANGES.md) on [its own changelog](library/CHANGES.md)
**Penpot migrate from Redis to Valkey**
As [Valkey](https://valkey.io/) is an opne-souce fork of [Redis](https://redis.io/)
version 7.2.4, this version of Penpot will be compatible with Redis but may diverge
in future versions. Therefore, **migration from Redis to ValKey is recommended for all
on-premises instances** that want to keep up to date.
### :heart: Community contributions (Thank you!) ### :heart: Community contributions (Thank you!)
### :sparkles: New features & Enhancements ### :sparkles: New features & Enhancements

View file

@ -111,7 +111,7 @@ services:
depends_on: depends_on:
penpot-postgres: penpot-postgres:
condition: service_healthy condition: service_healthy
penpot-redis: penpot-valkey:
condition: service_healthy condition: service_healthy
networks: networks:
@ -148,10 +148,10 @@ services:
PENPOT_DATABASE_USERNAME: penpot PENPOT_DATABASE_USERNAME: penpot
PENPOT_DATABASE_PASSWORD: penpot PENPOT_DATABASE_PASSWORD: penpot
## Redis is used for the websockets notifications. Don't touch unless the redis ## Valkey (or previously redis) is used for the websockets notifications. Don't touch
## container has different parameters or different name. ## unless the valkey container has different parameters or different name.
PENPOT_REDIS_URI: redis://penpot-redis/0 PENPOT_REDIS_URI: redis://penpot-valkey/0
## Default configuration for assets storage: using filesystem based with all files ## Default configuration for assets storage: using filesystem based with all files
## stored in a docker volume. ## stored in a docker volume.
@ -195,7 +195,7 @@ services:
restart: always restart: always
depends_on: depends_on:
penpot-redis: penpot-valkey:
condition: service_healthy condition: service_healthy
networks: networks:
@ -206,8 +206,8 @@ services:
# communicate with the frontend. # communicate with the frontend.
PENPOT_PUBLIC_URI: http://penpot-frontend:8080 PENPOT_PUBLIC_URI: http://penpot-frontend:8080
## Redis is used for the websockets notifications. ## Valkey (or previowsly Redis) is used for the websockets notifications.
PENPOT_REDIS_URI: redis://penpot-redis/0 PENPOT_REDIS_URI: redis://penpot-valkey/0
penpot-postgres: penpot-postgres:
image: "postgres:15" image: "postgres:15"
@ -233,12 +233,12 @@ services:
- POSTGRES_USER=penpot - POSTGRES_USER=penpot
- POSTGRES_PASSWORD=penpot - POSTGRES_PASSWORD=penpot
penpot-redis: penpot-valkey:
image: redis:7.2 image: valkey/valkey:8.1
restart: always restart: always
healthcheck: healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"] test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]
interval: 1s interval: 1s
timeout: 3s timeout: 3s
retries: 5 retries: 5

View file

@ -353,9 +353,9 @@ If you are not using SMTP configuration and want to log the emails in the consol
PENPOT_FLAGS: [...] enable-log-emails PENPOT_FLAGS: [...] enable-log-emails
``` ```
## Redis ## Valkey
The Redis configuration is very simple, just provide a valid redis URI. Redis is used The Valkey configuration is very simple, just provide a valid redis URI. Valkey is used
mainly for websocket notifications coordination. mainly for websocket notifications coordination.
```bash ```bash

View file

@ -72,7 +72,7 @@ argument to helm install. For example,
```bash ```bash
helm install my-release \ helm install my-release \
--set global.postgresqlEnabled=true \ --set global.postgresqlEnabled=true \
--set global.redisEnabled=true \ --set global.valkeyEnabled=true \
--set persistence.assets.enabled=true \ --set persistence.assets.enabled=true \
penpot/penpot penpot/penpot
``` ```