Skip to main content
Glama
orneryd

M.I.M.I.R - Multi-agent Intelligent Memory & Insight Repository

by orneryd
CHANGES.md5.25 kB
# DevContainer Configuration Updates **Date:** November 21, 2025 **Status:** ✅ Complete ## Summary Updated the VS Code devcontainer configuration to align with the current Docker Compose architecture and recent infrastructure changes. ## Issues Fixed ### 1. ❌ Non-existent startup script **Problem:** `initializeCommand` referenced `./scripts/start.sh` which doesn't exist **Solution:** Removed `initializeCommand` - Docker Compose handles service startup automatically ### 2. ❌ Wrong service name **Problem:** Referenced `mimir-server` service from production compose file **Solution:** Created new `mimir-dev` service in `docker-compose.extend.yml` specifically for development ### 3. ❌ User mismatch **Problem:** Devcontainer Dockerfile created `developer` user, production uses `node` **Solution:** Updated to use `node` user (already exists in node:22-alpine base image) ### 4. ❌ Workspace folder mismatch **Problem:** Used `/workspace` but production Dockerfile uses `/app` **Solution:** Changed `workspaceFolder` to `/app` to match production ### 5. ❌ Unnecessary features **Problem:** Included node, git features when custom Dockerfile already has them **Solution:** Removed features section entirely ### 6. ❌ Outdated service references **Problem:** Comments referenced "Ollama" instead of "llama-server" **Solution:** Updated all references to match current architecture ### 7. ⚠️ Architecture-specific compose files **Problem:** Can't auto-detect architecture in static JSON **Solution:** Added clear instructions for manual selection (arm64/amd64/default) ## Files Modified ### Created - `.devcontainer/docker-compose.extend.yml` - Development service definition - `.devcontainer/CHANGES.md` - This document ### Updated - `.devcontainer/devcontainer.json` - Changed service: `mimir-server` → `mimir-dev` - Added second compose file: `docker-compose.extend.yml` - Changed workspaceFolder: `/workspace` → `/app` - Removed `initializeCommand` - Removed `features` section - Removed duplicate `mounts` section - Updated port comments - Added architecture selection note - `.devcontainer/Dockerfile` - Removed `developer` user creation (use existing `node` user) - Changed WORKDIR: `/workspace` → `/app` - Removed unnecessary packages (openjdk, eslint, prettier) - Simplified to essentials - `.devcontainer/README.md` - Added architecture selection step - Updated service names - Clarified setup process - Updated "What's Included" section ## Architecture Selection Users must manually select the appropriate docker-compose file in `devcontainer.json`: ```jsonc // ARM64 (Apple Silicon, Linux ARM) "dockerComposeFile": ["../docker-compose.arm64.yml", "docker-compose.extend.yml"], // x64/AMD64 (Intel Mac, Linux x64) - DEFAULT "dockerComposeFile": ["../docker-compose.yml", "docker-compose.extend.yml"], // Windows/Linux with NVIDIA GPU "dockerComposeFile": ["../docker-compose.amd64.yml", "docker-compose.extend.yml"], ``` ## Services in Development Container When running the devcontainer, these services start: | Service | Port(s) | Description | | -------------- | ---------- | ---------------------------------- | | `neo4j` | 7474, 7687 | Graph database | | `copilot-api` | 4141 | LLM API (OpenAI-compatible) | | `llama-server` | 11434→8080 | Embeddings (architecture-specific) | | `mimir-dev` | 9042, 5173 | Development container | ## Development Workflow ```bash # Inside devcontainer terminal # Install dependencies (auto-runs on container creation) npm install cd frontend && npm install # Backend development with hot reload npm run dev # Frontend development cd frontend && npm run dev # Start MCP server npm run start:mcp # Start HTTP server npm run start:http # Build everything npm run build:all ``` ## Testing the Configuration 1. Ensure you have Docker Desktop running 2. Open the project in VS Code 3. Edit `.devcontainer/devcontainer.json` line 4 for your architecture 4. Press F1 → "Dev Containers: Reopen in Container" 5. Wait ~3-5 minutes for first-time setup 6. Verify all services are running: `docker compose ps` 7. Access Neo4j Browser: http://localhost:7474 8. Test the devcontainer: `npm run dev` ## Known Limitations 1. **Manual architecture selection required** - Cannot auto-detect in JSON config 2. **No Docker-in-Docker** - Removed to reduce complexity; use host Docker or compose commands 3. **Base image vulnerability** - node:22-alpine has 1 high vulnerability (upstream issue) ## Next Steps - [ ] Consider creating architecture-specific devcontainer.json files (e.g., `.devcontainer-arm64/`) - [ ] Investigate automated architecture detection via pre-build script - [ ] Document how to switch between production and development environments - [ ] Add health checks for devcontainer service ## References - Docker Compose: `docker-compose.yml`, `docker-compose.arm64.yml`, `docker-compose.amd64.yml` - Startup script: `scripts/start.js` (Node.js, auto-detects architecture) - Production Dockerfile: `Dockerfile` (multi-stage build) - Dev Dockerfile: `.devcontainer/Dockerfile` (simple dev tools)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/orneryd/Mimir'

If you have feedback or need assistance with the MCP directory API, please join our Discord server