mcp-memory-bank
by bsmi021
README.md
## 🐳 Running with Docker
This project is fully Docker-ready for easy deployment and local development. The provided `Dockerfile` and `docker-compose.yml` set up both the main application and its required ChromaDB vector database.
### Requirements
- Docker (latest stable)
- Docker Compose (v2+ recommended)
### Environment Variables
The following environment variables are used by default (can be overridden in your environment or via `docker-compose.yml`):
```env
CHROMADB_URL=http://chromadb:8000
TRANSPORT=http
HTTP_PORT=3000
MCP_MEMBANK_EMBEDDING_MODEL=Xenova/all-MiniLM-L6-v2
NODE_ENV=production
NODE_OPTIONS=--max-old-space-size=4096
```
### Build & Run
To build and start all services:
```bash
docker-compose up --build -d
```
This will:
- Build the main TypeScript application (Node.js v22.13.1-slim)
- Start the app as `ts-app` (listening on port **3000**)
- Start ChromaDB as `chromadb` (listening on port **8000**)
- Create a persistent volume for ChromaDB data
- Set up a shared Docker network for inter-service communication
### Ports
- **3000**: Main application HTTP API (`ts-app`)
- **8000**: ChromaDB vector database (`chromadb`)
### Data Persistence
- ChromaDB data is persisted in the named Docker volume `chromadb-data`.
- Application data directory (`/app/data`) is created and owned by a non-root user inside the container.
### Special Notes
- The application requires ChromaDB to be available at the URL specified by `CHROMADB_URL` (default: `http://chromadb:8000`).
- The embedding model can be changed via the `MCP_MEMBANK_EMBEDDING_MODEL` environment variable.
- If you need to customize environment variables, edit the `docker-compose.yml` or use an `.env` file.
---
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues