生产部署
架构概览
生产环境把固定基础设施、Web release 和 Worker release 分开管理。公网 Compose 可以由 Traefik 自动申请 Let's Encrypt TLS 证书;当前日常发布不会把 Web 与长任务 Worker 一起重启:
Internet
└─→ Traefik(memex-server 基础设施 project)
├─→ active memex-web-<release>(Web UI + HTTP API)
└─→ memex-mcp
PostgreSQL / Redis(memex-server 基础设施 project)
└─→ active memex-worker-<release>(scheduler / runner / Butler)
└─→ retiring Worker generations(仅完成已有长任务)
配置步骤
1. 填写环境变量
cp .env.example .env
编辑 .env,填写以下必填项:
| 变量 | 说明 |
|---|---|
ENGINE_DIR | Memex 引擎目录(只读挂载) |
MEMEX_HOST | 对外域名,如 memex-server.memect.cn |
ACME_EMAIL | Let'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"}'
危险
生产镜像默认以 --auth 启动,滚动 Web overlay 也显式启用认证。修改启动命令时不得移除
--auth;否则所有请求会获得 admin 权限。