mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
c53d35740e
- Add Dockerfile.containerd: multi-stage build that compiles MCP binary, assembles rootfs, creates Docker image tar, and bundles it with containerd - Add containerd-entrypoint.sh: auto-imports MCP image on first start - Fix MCP image reference: rename busybox_image to image in config, use fully-qualified docker.io/library/memoh-mcp:latest everywhere - Make image ref configurable via config.toml instead of hardcoded - Simplify deploy.sh: remove manual nerdctl/containerd-install steps
1.7 KiB
1.7 KiB
Memoh Deployment Guide
One-Click Install
curl -fsSL https://raw.githubusercontent.com/memohai/Memoh/feat/containerd-in-docker/scripts/install.sh | sh
Or manually:
git clone https://github.com/memohai/Memoh.git
cd Memoh
docker compose up -d
Access:
- Web UI: http://localhost
- API: http://localhost:8080
- Agent: http://localhost:8081
Default credentials: admin / admin123
Prerequisites
- Docker (with Docker Compose v2)
- Git
That's it. No containerd, nerdctl, or buildkit required on the host.
Custom Configuration
cp docker/config/config.docker.toml config.toml
nano config.toml
MEMOH_CONFIG=./config.toml docker compose up -d
Recommended changes for production:
admin.password- Admin passwordauth.jwt_secret- JWT secret (generate withopenssl rand -base64 32)postgres.password- Database password
Common Commands
docker compose up -d # Start
docker compose down # Stop
docker compose logs -f # View logs
docker compose ps # Status
docker compose up -d --build # Rebuild and restart
Production
- Configure HTTPS (create
docker-compose.override.ymlwith SSL certs) - Change all default passwords
- Configure firewall
- Set resource limits
- Regular backups
Troubleshooting
docker compose logs server # View service logs
docker compose logs containerd # View containerd logs
docker compose config # Check configuration
docker compose build --no-cache && docker compose up -d # Full rebuild
Security Warnings
- Main service has privileged container access - only run in trusted environments
- Must change all default passwords and secrets
- Use HTTPS in production