Skip to content

[BUG] Docker: iii-engine uses in_memory despite file_based config in /app/config.yaml #950

Description

@jensbe74

Summary

Fresh clone from GitHub on Linux, using repo docker-compose.yml and iii-config.docker.yaml.
Verified:

  • /app/config.yaml is mounted from ./iii-config.docker.yaml
  • container sees file_based config with /data/state_store.db and /data/stream_store
  • /data volume is mounted correctly
  • reproduced on iiidev/iii 0.11.0, 0.11.1, 0.11.2

But engine logs still show:
DO NOT USE IN_MEMORY STORE_METHOD IN PRODUCTION - DATA WILL BE LOST ON SHUTDOWN

Also no /data/.hmac is created and no AGENTMEMORY_SECRET= is logged on first boot.

This suggests the mounted config is parsed but not actually applied by iii-engine in Docker.


Environment

  • OS: Ubuntu 22.04.5 LTS (jammy)
  • Docker version: 29.5.3
  • Docker Compose version: v5.1.4
  • agentmemory clone: fresh git clone https://github.com/rohitg00/agentmemory.git
  • iiidev/iii versions tested: 0.11.0, 0.11.1, 0.11.2

Steps to reproduce

  1. git clone https://github.com/rohitg00/agentmemory.git
  2. cd agentmemory
  3. docker compose up -d
  4. docker logs agentmemory-iii-engine-1

Expected behavior

  • iii-engine should use store_method: file_based from /app/config.yaml
  • Data persisted to /data/state_store.db and /data/stream_store
  • HMAC secret generated on first boot and logged as AGENTMEMORY_SECRET=...

Actual behavior

  • Logs show: DO NOT USE IN_MEMORY STORE_METHOD IN PRODUCTION - DATA WILL BE LOST ON SHUTDOWN
  • No /data/.hmac created
  • No AGENTMEMORY_SECRET= logged

Evidence

docker mount check

docker inspect agentmemory-iii-engine-1 \
  --format '{{range .Mounts}}{{.Type}}{{" "}}{{.Source}}{{" "}}{{.Destination}}{{" "}}{{.Mode}}{{"\n"}}{{end}}'

Output:

volume /var/lib/docker/volumes/agentmemory_iii-data/_data /data rw
bind /root/mcp-hub/agentmemory/iii-config.docker.yaml /app/config.yaml ro

Config in container

docker cp agentmemory-iii-engine-1:/app/config.yaml /tmp/config_in_container.yaml && cat /tmp/config_in_container.yaml

Key part:

- name: iii-state
  config:
    adapter:
      name: kv
      config:
        store_method: file_based
        file_path: /data/state_store.db
- name: iii-stream
  config:
    port: 3112
    host: 0.0.0.0
    adapter:
      name: kv
      config:
        store_method: file_based
        file_path: /data/stream_store

Volume content

sudo ls -la /var/lib/docker/volumes/agentmemory_iii-data/_data/

Output:

total 16
drwxr-xr-x 4 65532 65532 4096 Jun 19 10:25 .
drwx-----x 3 root  root  4096 Jun 19 10:25 ..
drwxr-xr-x 2 65532 65532 4096 Jun 19 10:25 state_store.db
drwxr-xr-x 2 65532 65532 4096 Jun 19 10:25 stream_store

Engine logs

docker logs agentmemory-iii-engine-1 2>&1 | grep -E "(IN_MEMORY|AGENTMEMORY_SECRET)"

Output:

[WARN] iii::builtins::kv DO NOT USE IN_MEMORY STORE_METHOD IN PRODUCTION - DATA WILL BE LOST ON SHUTDOWN
[WARN] iii::builtins::kv DO NOT USE IN_MEMORY STORE_METHOD IN PRODUCTION - DATA WILL BE LOST ON SHUTDOWN

No AGENTMEMORY_SECRET= line.


Note

This is reproducible on multiple iiidev/iii versions (0.11.0, 0.11.1, 0.11.2) with a fresh clone.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions