Add persistent object cache #48
Open
opened 2025-12-14 22:23:38 +00:00 by dwaxweiler
·
6 comments
No Branch/Tag Specified
main
renovate/wordpress-7.x
kc_stable
kc-stable
backup
anubis
fix/3wc/wp-cli
ftp
ssh
service-rename
drone
3.0.6+7.0.4
3.0.5+7.0.4
3.0.4+7.0.3
3.0.3+7.0.2
3.0.2+7.0.2
3.0.1+7.0.2
2.19.4+6.9.4
2.19.3+6.9.4
3.0.0+7.0.0
2.19.2+6.9.4
2.19.1+6.9.4
2.19.0+6.9.4
2.18.0+6.9.1
2.17.1+6.9.0
2.17.0+6.9.0
2.16.2+6.8.3
2.16.1+6.8.1
2.16.0+6.8.1
2.15.0+6.8.0
2.14.0+6.7.2
2.13.3+6.7.1
2.13.2+6.7.1
2.13.1+6.7.1
2.13.0+6.7.1
2.12.2+6.6.2
2.12.1+6.6.1
2.12.0+6.6.1
2.11.0+6.6.0
2.10.0+6.5.5
2.9.1+6.5.3
2.9.0+6.5.2
2.8.0+6.5.0
2.7.3+6.4.3
2.5.2+6.3.0
2.7.2+6.4.2
2.7.1+6.4.2
2.7.0+6.4.2
2.6.3+6.4.2
2.6.1+6.4.0
2.6.0+6.4.0
2.5.1+6.3.0
2.5.0+6.3.0
2.4.3+6.3.0
2.4.2+6.3.0
2.4.1+6.3.0
2.4.0+6.3.0
2.3.0+6.2.0
2.2.1+6.1.1
2.3.3+6.2.2
2.3.2+6.2.0
2.3.1+6.2.0
2.2.0+6.1.1
2.1.0+6.1.1
2.0.1+6.0.1
2.0.0+6.0.0
1.1.2+5.9.3
1.1.1+5.9.2
1.1.0+5.9.0
1.0.2+5.8.3
1.0.1+5.8.2
1.0.0+5.8.1
Labels
No items
No labels
Milestone
No items
No Milestone
Assignees
3wordchant
aadil (Aadil Ayub)
abra-bot (Abra Bot)
ammaratef45
amras (Sarma)
Apfelwurm
appletalk
arjan
basebuilder
BornDeleuze
Brooke
carla
cas (Cassowary)
codegod100
coopcloud
cyrnel
decentral1se (d1)
dede
devydave
fauno (fauno)
flancian
Frando
iexos
jade (Jade Ambrose)
javielico (Javielico)
jjsfunhouse
jmakdah2 (Jackie Makdah)
joe-irving (Joe Irving)
kawaiipunk (KawaiiPunk)
knoflook
kolaente
lambdabundesverband
linnealovespie (April)
marlon (marlon)
mayel
mirsal
moosemower
moritz
nicksellen (Nick Sellen)
notplants
oxaliq (sorrel)
p4u1
pau
pharaohgraphy (Andrew 🐦🔥❤️🔥✴️)
PhiNatalie
renovate-bot (Comrade Renovate Bot)
ripclap
rix
rscmbbng
sef (sef)
simon
sixsmith (Sixsmith)
stevensting
tobias
trav (Trav Fryer)
val (val (he/him))
vaznasty
virtualboys
wolcen (Chris Thompson)
wykwit
xynosis
yksflip
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: coop-cloud/wordpress#48
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
It would be nice to have a persistent object cache like redis and a fitting plugin like Redis Object Cache integrated into this recipe.
Hmm do we we need a redis cache per app? I've seen people share one redis instances across many sites. I'm not sure of the implications of doing this either way in terms of security and performance overhead!
@kawaiipunk you are right; There would be an overhead if each app comes with their own Redis instance! Unfortunately, there is no Redis recipe yet. :(
So far the default across Co-op Cloud recipes is to have one instance per app – the per-app overhead seems less bad than the set-up complexity, and resolving difficulties around version compatibility between apps.
I believe @amras has been working on some patches to make it possible to point to a shared database server, maybe they have some thoughts on how to standardise this for other services including Redis?
Don't know I can be of much help here.
The database idea came up because a lot of (upstream) services have databases configurable through environment variables, e.g.
WORDPRESS_DB_HOST. Can't comment how often object cache addresses are configurable.I agree with @3wordchant that per-app should be the default, though the redis container might need to be in a separate compose file so it can be disabled.
My bigger worry is with the plugin @dwaxweiler mentioned; would that require changing the app/wordpress image?
Every app I have seen that uses Redis has
REDIS_URLor something, but I don't think I have yet seen a single recipe where it's configurable by Operators.Do you have any thoughts on a naming convention for this "pointing at a shared service" task?
compose.external-db.yml?compose.shared-db.yml? Orcompose.external/shared-mariadb.yml? Something else? It seems like it could be nice if the same naming convention between databases and key-value stores for this.Indeed, we would need to add something to the recipe to support pre-installing apps — maybe using
wp, orcomposer?I'm already working on the on the pre-installed plug-ins issue: #70
Adding a per-wp-app redis container sounds like a good idea to me. Some sites need it, some don't so makes sense to do it this way.