跳到主要内容

生产部署

架构概览

生产环境使用 Traefik 作为反向代理,自动申请 Let's Encrypt TLS 证书:

Internet
└─→ Traefik (443/80) ← Let's Encrypt ACME
├─→ memex-server:8080 (Web UI + HTTP API)
└─→ memex-server:9001 (MCP)

配置步骤

1. 填写环境变量

cp .env.example .env

编辑 .env,填写以下必填项:

变量说明
ENGINE_DIRMemex 引擎目录(只读挂载)
MEMEX_HOST对外域名,如 memex-server.memect.cn
ACME_EMAILLet's Encrypt 注册邮箱

2. 启动

docker compose --env-file .env up -d

Traefik 会自动申请证书,首次启动稍等片刻。

3. 创建管理员 Token

curl -X POST https://memex-server.memect.cn/api/v1/auth/tokens \
-H "Content-Type: application/json" \
-d '{"name":"admin","username":"admin","role":"admin"}'
危险

安全警告:生产环境必须在 docker-compose.ymlcommand 中加入 --auth。 不加 --auth 时所有请求自动获得 admin 权限,端口暴露即裸奔。

环境变量完整参考

变量必填默认值说明
MEMEX_ROOT引擎根目录
MEMEX_WIKIS_DIR~/wikiswiki 产出 + DB 目录
MEMEX_LOG_RETAIN_DAYS30日志保留天数
MEMEX_MAX_CONCURRENT_JOBS3最大并发 job 数
MEMEX_CORS_ORIGINS关闭CORS 白名单,逗号分隔
FASTMCP_HOST0.0.0.0MCP 服务监听地址
FASTMCP_PORT9001MCP 服务监听端口

数据持久化

wiki 数据存储在 MEMEX_WIKIS_DIR 挂载目录,建议挂载到宿主机持久卷。 日志存储在容器内,超过 MEMEX_LOG_RETAIN_DAYS 天自动清理。