Files
Memoh/DEPLOYMENT.md
T
BBQ c53d35740e feat(deploy): self-contained containerd with embedded MCP image
- 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
2026-02-12 23:50:48 +08:00

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:

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 password
  • auth.jwt_secret - JWT secret (generate with openssl 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

  1. Configure HTTPS (create docker-compose.override.yml with SSL certs)
  2. Change all default passwords
  3. Configure firewall
  4. Set resource limits
  5. 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