Describe the bug

Using the 8.0.3-bookworm Docker Image, I'm getting the following error:

1:M 08 Jul 2025 19:44:16.505 # Module /usr/local/lib/redis/modules//redisbloom.so initialization failed. Module not loaded
1:M 08 Jul 2025 19:44:16.505 # Can't load module from /usr/local/lib/redis/modules//redisbloom.so: server aborting

In the configuration file I see these settings in the CONFIG REWRITE section:

# Generated by CONFIG REWRITE
latency-tracking-info-percentiles 50 99 99.9
user default on nopass sanitize-payload ~* &* +@all
loadmodule /usr/local/lib/redis/modules//redisbloom.so
loadmodule /usr/local/lib/redis/modules//redisearch.so
loadmodule /usr/local/lib/redis/modules//redistimeseries.so
loadmodule /usr/local/lib/redis/modules//rejson.so

To reproduce

  • Install 3 Docker containers for Redis Server using the redis:8.0.3-bookworm Docker Image
  • Configure replication with one master and two slaves
  • Install 3 Docker containers for Redis Sentinel using the redis:8.0.3-bookworm Docker Image
  • Configure Redis Sentinel to monitor the 3 Redis Server nodes

I used these configuration files for Redis Server and Redis Sentinel (these are files taken from the second node, others are similar with different names and different ports):

20250708-redis-sentinel.conf.txt 20250708-redis-server.conf.txt

Expected behavior

I expect the server starts without problems loading the module without errors. Anyway, I cannot understand why the loadmodule directives are in the dynamic configuration settings. Please note that I've never loaded that modules from Redis Cli.

Additional information

This is a 3 nodes Redis cluster, with one master and two slaves. Redis Sentinel is installed and configured as well, monitoring all three nodes.

Comment From: sundb

@mmartinello reproduce it in my local. After config rewrite, Redis will load the module twice when it is restarted. please also raise a issue in https://github.com/redis/docker-library-redis/issues thx.

version: '3.8'

services:
  redis:
    image: redis:8.0.3-bookworm
    container_name: redis
    ports:
      - "6379:6379"
    volumes:
      - ./redis/data:/data
    command: redis-server /data/redis.conf
Starting redis ... done
Attaching to redis
redis    | Notice: Unknown file './redis.conf' found in data dir. Permissions will not be modified. Use SKIP_FIX_PERMS=1 to skip permission changes.
redis    | Notice: Unknown file '/data/dump.rdb' found in '/data'. Permissions will not be modified. Use SKIP_FIX_PERMS=1 to skip permission changes.
redis    | Starting Redis Server
redis    | 1:C 09 Jul 2025 03:16:41.864 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
redis    | 1:C 09 Jul 2025 03:16:41.864 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis    | 1:C 09 Jul 2025 03:16:41.864 * Redis version=8.0.3, bits=64, commit=00000000, modified=1, pid=1, just started
redis    | 1:C 09 Jul 2025 03:16:41.864 * Configuration loaded
redis    | 1:M 09 Jul 2025 03:16:41.864 * monotonic clock: POSIX clock_gettime
redis    | 1:M 09 Jul 2025 03:16:41.865 * Running mode=standalone, port=6379.
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Redis version found by RedisSearch : 8.0.3 - oss
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> RediSearch version 8.0.1 (Git=5688fcc)
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Low level api version 1 initialized successfully
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> gc: ON, prefix min length: 2, min word length to stem: 4, prefix max expansions: 200, query timeout (ms): 500, timeout policy: return, cursor read size: 1000, cursor max idle (ms): 300000, max doctable size: 1000000, max number of search results:  1000000, 
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Initialized thread pools!
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Disabled workers threadpool of size 0
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Subscribe to config changes
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Enabled role change notification
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Cluster configuration: AUTO partitions, type: 0, coordinator timeout: 0ms
redis    | 1:M 09 Jul 2025 03:16:41.866 * <search> Register write commands
redis    | 1:M 09 Jul 2025 03:16:41.866 * Module 'search' loaded from /usr/local/lib/redis/modules//redisearch.so
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf> RedisBloom version 8.0.1 (Git=unknown)
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf> Registering configuration options: [
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { bf-error-rate       :      0.01 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { bf-initial-size     :       100 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { bf-expansion-factor :         2 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { cf-bucket-size      :         2 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { cf-initial-size     :      1024 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { cf-max-iterations   :        20 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { cf-expansion-factor :         1 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf>  { cf-max-expansions   :        32 }
redis    | 1:M 09 Jul 2025 03:16:41.866 * <bf> ]
redis    | 1:M 09 Jul 2025 03:16:41.866 * Module 'bf' loaded from /usr/local/lib/redis/modules//redisbloom.so
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries> RedisTimeSeries version 80001, git_sha=577bfa8b5909e7ee572f0b651399be8303dc6641
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries> Redis version found by RedisTimeSeries : 8.0.3 - oss
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries> Registering configuration options: [
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-compaction-policy   :              }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-num-threads         :            3 }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-retention-policy    :            0 }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-duplicate-policy    :        block }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-chunk-size-bytes    :         4096 }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-encoding            :   compressed }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-ignore-max-time-diff:            0 }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries>  { ts-ignore-max-val-diff :     0.000000 }
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries> ]
redis    | 1:M 09 Jul 2025 03:16:41.867 * <timeseries> Detected redis oss
redis    | 1:M 09 Jul 2025 03:16:41.867 * Module 'timeseries' loaded from /usr/local/lib/redis/modules//redistimeseries.so
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Created new data type 'ReJSON-RL'
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> version: 80001 git sha: unknown branch: unknown
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Exported RedisJSON_V1 API
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Exported RedisJSON_V2 API
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Exported RedisJSON_V3 API
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Exported RedisJSON_V4 API
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Exported RedisJSON_V5 API
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Enabled diskless replication
redis    | 1:M 09 Jul 2025 03:16:41.867 * <ReJSON> Initialized shared string cache, thread safe: false.
redis    | 1:M 09 Jul 2025 03:16:41.867 * Module 'ReJSON' loaded from /usr/local/lib/redis/modules//rejson.so
redis    | 1:M 09 Jul 2025 03:16:41.867 * <search> Acquired RedisJSON_V5 API
redis    | 1:M 09 Jul 2025 03:16:41.867 # Module /usr/local/lib/redis/modules//redisbloom.so initialization failed. Module not loaded
redis    | 1:M 09 Jul 2025 03:16:41.867 # Can't load module from /usr/local/lib/redis/modules//redisbloom.so: server aborting
redis exited with code 1