Skip to content

Fix #34: Docker image#40

Open
JiwaniZakir wants to merge 1 commit intoagentic-box:mainfrom
JiwaniZakir:fix/34-docker-image
Open

Fix #34: Docker image#40
JiwaniZakir wants to merge 1 commit intoagentic-box:mainfrom
JiwaniZakir:fix/34-docker-image

Conversation

@JiwaniZakir
Copy link
Copy Markdown

Closes #34

Before

Memora could only be run by installing it directly in a Python environment. There was no containerized option, requiring users to manage Python 3.12 dependencies and environment configuration manually.

After

Memora can be run as a Docker container. The image uses python:3.12-slim as a base, installs Memora from pyproject.toml, and starts the server via the memora-server entrypoint. Transport defaults to SSE, listening on 0.0.0.0:8000, with persistent storage mounted at /data/memora.db.

Changes

  • Dockerfile (new file):
    • Copies pyproject.toml and the memora/ package directory, then runs pip install --no-cache-dir . to install the package and its dependencies.
    • Sets four environment variables as defaults: MEMORA_TRANSPORT=sse, MEMORA_HOST=0.0.0.0, MEMORA_PORT=8000, MEMORA_STORAGE_URI=/data/memora.db. All can be overridden at runtime via -e.
    • Declares /data as a named volume so the SQLite database persists across container restarts.
    • Exposes port 8000 and runs CMD ["memora-server"].

Testing

Build and run locally:

docker build -t memora .
docker run -p 8000:8000 -v memora-data:/data memora

Verified the server starts and listens on port 8000. Storage persists across container restarts when using the /data volume mount.


This PR was created with AI assistance (Claude). The changes were reviewed by quality gates and a critic model before submission.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docker image

1 participant