diff --git a/.github/logos/dragonfly.svg b/.github/logos/dragonfly.svg new file mode 100644 index 0000000..da32712 --- /dev/null +++ b/.github/logos/dragonfly.svg @@ -0,0 +1 @@ + diff --git a/README.md b/README.md index 923dffb..15e23c4 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,7 @@ All of it is data. None of it ships in the binary. | | Service | What it is | |:-:|---|---| | | `beanstalkd` | Beanstalkd work queue | +| | `dragonfly` | Dragonfly, the Redis-compatible cache (coexists with Redis) | | | `kafka` | Apache Kafka event streaming broker | | | `memcached` | Memcached in-memory cache | | | `mercure` | Mercure hub for server-sent events, the Symfony realtime transport | diff --git a/schema/2/services/index.json b/schema/2/services/index.json index 9bc2331..e49d66c 100644 --- a/schema/2/services/index.json +++ b/schema/2/services/index.json @@ -385,6 +385,16 @@ "icon": "cube", "color": "#6368c2" }, + { + "name": "dragonfly", + "description": "Dragonfly in-memory store (Redis-compatible)", + "family": "dragonfly", + "image": "ghcr.io/dragonflydb/dragonfly:v2.0.2", + "category": "cache", + "icon": "bolt", + "color": "#5a3ee0", + "env_role": "redis" + }, { "name": "spamassassin", "description": "SpamAssassin scoring backend for the Mailpit catcher", diff --git a/services/dragonfly.svg b/services/dragonfly.svg new file mode 100644 index 0000000..b5d16c7 --- /dev/null +++ b/services/dragonfly.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/services/dragonfly.yaml b/services/dragonfly.yaml new file mode 100644 index 0000000..6876f87 --- /dev/null +++ b/services/dragonfly.yaml @@ -0,0 +1,26 @@ +name: dragonfly +description: Dragonfly in-memory store (Redis-compatible) +family: dragonfly +env_role: redis +image: ghcr.io/dragonflydb/dragonfly:v2.0.2 +update_strategy: minor +# Dragonfly starts one io thread per core and refuses to run unless it has +# 256MiB for each, so a many-core machine exits at start; two threads and a +# 1GiB cap are plenty for local work. The entrypoint prepends the binary. +exec: --proactor_threads=2 --maxmemory=1gb +# Dragonfly speaks the Redis protocol on 6379 inside the container; it is +# published on 6381 so it can coexist with the redis and valkey presets. +ports: + - "6381:6379" +data_dir: /data +env_vars: + - REDIS_HOST=lerd-dragonfly + - REDIS_PORT=6379 + - REDIS_PASSWORD=null + - CACHE_STORE=redis + - SESSION_DRIVER=redis + - QUEUE_CONNECTION=redis +connection_url: redis://127.0.0.1:6381 +category: cache +color: "#5a3ee0" +icon: bolt diff --git a/services/index.json b/services/index.json index 7e5c34c..5618bbb 100644 --- a/services/index.json +++ b/services/index.json @@ -381,6 +381,16 @@ "category": "testing", "icon": "cube", "color": "#6368c2" + }, + { + "name": "dragonfly", + "description": "Dragonfly in-memory store (Redis-compatible)", + "family": "dragonfly", + "image": "ghcr.io/dragonflydb/dragonfly:v2.0.2", + "category": "cache", + "icon": "bolt", + "color": "#5a3ee0", + "env_role": "redis" } ] }