Files
2026-04-26 09:20:58 +00:00

34 lines
56 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Docker 安装 | Memoh Documentation</title>
<meta name="description" content="Multi-Member, Structured Long-Memory, Containerized AI Agent System.">
<meta name="generator" content="VitePress v1.6.4">
<link rel="preload stylesheet" href="/assets/style.CSFKb52n.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.BhKyjyZV.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.Bn3LrMg5.js">
<link rel="modulepreload" href="/assets/chunks/framework.CAXxHpAX.js">
<link rel="modulepreload" href="/assets/zh_installation_docker.md.CE0ppM2m.lean.js">
<link rel="icon" href="/logo.svg">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-ba7c87da><!--[--><!--]--><!--[--><span tabindex="-1" data-v-d63408fd></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-d63408fd>Skip to content</a><!--]--><!----><header class="VPNav" data-v-ba7c87da data-v-908bdb68><div class="VPNavBar" data-v-908bdb68 data-v-8d1ffe88><div class="wrapper" data-v-8d1ffe88><div class="container" data-v-8d1ffe88><div class="title" data-v-8d1ffe88><div class="VPNavBarTitle has-sidebar" data-v-8d1ffe88 data-v-66d4ae12><a class="title" href="/zh/" data-v-66d4ae12><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.svg" alt="Memoh" data-v-21b99582><!--]--><span data-v-66d4ae12>Memoh</span><!--[--><!--]--></a></div></div><div class="content" data-v-8d1ffe88><div class="content-body" data-v-8d1ffe88><!--[--><!--]--><div class="VPNavBarSearch search" data-v-8d1ffe88><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-8d1ffe88 data-v-a23194af><span id="main-nav-aria-label" class="visually-hidden" data-v-a23194af> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-a23194af data-v-e59bbbee><!--[--><span data-v-e59bbbee>Guides</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/blogs/" tabindex="0" data-v-a23194af data-v-e59bbbee><!--[--><span data-v-e59bbbee>Blogs</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-8d1ffe88 data-v-2d4849be data-v-c9799874><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-c9799874><span class="text" data-v-c9799874><span class="vpi-languages option-icon" data-v-c9799874></span><!----><span class="vpi-chevron-down text-icon" data-v-c9799874></span></span></button><div class="menu" data-v-c9799874><div class="VPMenu" data-v-c9799874 data-v-b1338896><!----><!--[--><!--[--><div class="items" data-v-2d4849be><p class="title" data-v-2d4849be>简体中文</p><!--[--><div class="VPMenuLink" data-v-2d4849be data-v-859c4b5e><a class="VPLink link" href="/installation/docker.html" data-v-859c4b5e><!--[--><span data-v-859c4b5e>English</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-8d1ffe88 data-v-c2b7fe22><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-c2b7fe22 data-v-95390f3d data-v-65cb479b><span class="check" data-v-65cb479b><span class="icon" data-v-65cb479b><!--[--><span class="vpi-sun sun" data-v-95390f3d></span><span class="vpi-moon moon" data-v-95390f3d></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-8d1ffe88 data-v-5bf14e4d data-v-ce44a42a><!--[--><a class="VPSocialLink no-icon" href="https://github.com/memohai/Memoh" aria-label="github" target="_blank" rel="noopener" data-v-ce44a42a data-v-9d5b176c><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-8d1ffe88 data-v-563e76b4 data-v-c9799874><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-c9799874><span class="vpi-more-horizontal icon" data-v-c9799874></span></button><div class="menu" data-v-c9799874><div class="VPMenu" data-v-c9799874 data-v-b1338896><!----><!--[--><!--[--><div class="group translations" data-v-563e76b4><p class="trans-title" data-v-563e76b4>简体中文</p><!--[--><div class="VPMenuLink" data-v-563e76b4 data-v-859c4b5e><a class="VPLink link" href="/installation/docker.html" data-v-859c4b5e><!--[--><span data-v-859c4b5e>English</span><!--]--></a></div><!--]--></div><div class="group" data-v-563e76b4><div class="item appearance" data-v-563e76b4><p class="label" data-v-563e76b4>Appearance</p><div class="appearance-action" data-v-563e76b4><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-563e76b4 data-v-95390f3d data-v-65cb479b><span class="check" data-v-65cb479b><span class="icon" data-v-65cb479b><!--[--><span class="vpi-sun sun" data-v-95390f3d></span><span class="vpi-moon moon" data-v-95390f3d></span><!--]--></span></span></button></div></div></div><div class="group" data-v-563e76b4><div class="item social-links" data-v-563e76b4><div class="VPSocialLinks social-links-list" data-v-563e76b4 data-v-ce44a42a><!--[--><a class="VPSocialLink no-icon" href="https://github.com/memohai/Memoh" aria-label="github" target="_blank" rel="noopener" data-v-ce44a42a data-v-9d5b176c><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-8d1ffe88 data-v-96eb4489><span class="container" data-v-96eb4489><span class="top" data-v-96eb4489></span><span class="middle" data-v-96eb4489></span><span class="bottom" data-v-96eb4489></span></span></button></div></div></div></div><div class="divider" data-v-8d1ffe88><div class="divider-line" data-v-8d1ffe88></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-ba7c87da data-v-b2c93339><div class="container" data-v-b2c93339><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-b2c93339><span class="vpi-align-left menu-icon" data-v-b2c93339></span><span class="menu-text" data-v-b2c93339>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-b2c93339 data-v-d1ffc3c0><button data-v-d1ffc3c0>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-ba7c87da data-v-59945d5d><div class="curtain" data-v-59945d5d></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-59945d5d><span class="visually-hidden" id="sidebar-aria-label" data-v-59945d5d> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><!----><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>文档总览</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0 has-active" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>关于与安装</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/about.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>了解 Memoh</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/installation/docker.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Docker 安装</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>入门</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/provider-and-model.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>供应商与模型</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/bot.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>机器人</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/sessions.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>会话</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/access.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>访问控制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/container.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>容器</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/files.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>文件</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/skills.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>技能</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/supermarket.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>超市</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/mcp.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>MCP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/channels.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>渠道(入门)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/browser.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>浏览器</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/memory.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>长期记忆</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/compaction.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>会话上下文压缩</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/heartbeat.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>心跳</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/schedule.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>计划任务</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/search-provider.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>搜索提供方</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/email.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>邮件</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/getting-started/slash-commands.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>斜杠命令</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>记忆提供方</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/memory-providers/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>总览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/memory-providers/builtin.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>内置</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/memory-providers/mem0.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Mem0</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/memory-providers/openviking.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>OpenViking</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>TTS</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/tts-providers/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>总览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/tts-providers/edge.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Edge TTS</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-5df780f0><section class="VPSidebarItem level-0" data-v-5df780f0 data-v-31549b30><div class="item" role="button" tabindex="0" data-v-31549b30><div class="indicator" data-v-31549b30></div><h2 class="text" data-v-31549b30>渠道</h2><!----></div><div class="items" data-v-31549b30><!--[--><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/index.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>总览</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/slack.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Slack</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/telegram.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Telegram</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/feishu.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>飞书</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/discord.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Discord</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/qq.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>QQ</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/matrix.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Matrix</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/misskey.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>Misskey</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/dingtalk.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>钉钉</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/wecom.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>企微</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/weixin.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>微信</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-31549b30 data-v-31549b30><div class="item" data-v-31549b30><div class="indicator" data-v-31549b30></div><a class="VPLink link link" href="/zh/channels/wechatoa.html" data-v-31549b30><!--[--><p class="text" data-v-31549b30>微信公众号</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-ba7c87da data-v-6c992f05><div class="VPDoc has-sidebar has-aside" data-v-6c992f05 data-v-888acc39><!--[--><!--]--><div class="container" data-v-888acc39><div class="aside" data-v-888acc39><div class="aside-curtain" data-v-888acc39></div><div class="aside-container" data-v-888acc39><div class="aside-content" data-v-888acc39><div class="VPDocAside" data-v-888acc39 data-v-8cfe0409><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-8cfe0409 data-v-116d4a1f><div class="content" data-v-116d4a1f><div class="outline-marker" data-v-116d4a1f></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-116d4a1f>On this page</div><ul class="VPDocOutlineItem root" data-v-116d4a1f data-v-ba57d2ed><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-8cfe0409></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-888acc39><div class="content-container" data-v-888acc39><!--[--><!--]--><main class="main" data-v-888acc39><div style="position:relative;" class="vp-doc _zh_installation_docker" data-v-888acc39><div><h1 id="docker-安装" tabindex="-1">Docker 安装 <a class="header-anchor" href="#docker-安装" aria-label="Permalink to &quot;Docker 安装&quot;"></a></h1><p>推荐用 Docker 跑 Memoh。编排里通常包含 PostgreSQL、主服务(内嵌 Containerd、智能体也在同一进程)、以及网页前端;主机上不必单独装 containerd、nerdctl、buildkit,都在容器里。</p><h2 id="服务结构" tabindex="-1">服务结构 <a class="header-anchor" href="#服务结构" aria-label="Permalink to &quot;服务结构&quot;"></a></h2><p>Compose 里有多组服务。有的默认就起,有的通过 <code>--profile</code> 打开:</p><table tabindex="0"><thead><tr><th>服务</th><th>Profile</th><th>说明</th></tr></thead><tbody><tr><td><strong>server</strong></td><td><em>(核心)</em></td><td>主服务,内嵌 Containerd,智能体同进程</td></tr><tr><td><strong>web</strong></td><td><em>(核心)</em></td><td>网页端(Vue 3</td></tr><tr><td><strong>postgres</strong></td><td><em>(核心)</em></td><td>PostgreSQL</td></tr><tr><td><strong>qdrant</strong></td><td><code>qdrant</code></td><td>向量库,给记忆检索用(稀疏/稠密)</td></tr><tr><td><strong>browser</strong></td><td><code>browser</code></td><td>Playwright 浏览器网关,给机器人上网</td></tr><tr><td><strong>sparse</strong></td><td><code>sparse</code></td><td>神经稀疏编码,给记忆检索(见下)</td></tr></tbody></table><h3 id="sparse-服务" tabindex="-1">sparse 服务 <a class="header-anchor" href="#sparse-服务" aria-label="Permalink to &quot;sparse 服务&quot;"></a></h3><p><strong>sparse</strong> 容器跑神经稀疏向量,给记忆检索用。里面是一个轻量 Python(Flask)服务,端口 8085,模型是 OpenSearch 项目放出来的 <a href="https://huggingface.co/opensearch-project/opensearch-neural-sparse-encoding-multilingual-v1" target="_blank" rel="noreferrer"><code>opensearch-neural-sparse-encoding-multilingual-v1</code></a></p><p><strong>它做什么:</strong></p><ul><li>把文档压成稀疏向量(一批 token 下标 + 权重),基于掩码语言模型。</li><li>查询端用 IDF 加权词表,检索快。</li><li>和 Qdrant 一起用,可以在<strong>不另接外部 embedding API</strong> 的情况下做语义级记忆搜索。</li></ul><p><strong>什么时候值得开:</strong></p><ul><li>不想为 embedding 花钱,模型在容器里本地跑。</li><li>多语言模型现成的。</li><li>比纯关键词(BM25)强一截,又比大稠密向量省资源。</li></ul><p><strong>何时启用:</strong></p><p>打算用内置记忆提供方的 <strong>sparse</strong> 模式时,把 sparse profile 打开。镜像构建时会预下模型,启动不用临时拉权重。</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> qdrant</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sparse</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> browser</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><p>模式细节见 <a href="/zh/memory-providers/builtin.html">内置记忆提供方</a></p><h2 id="先决条件" tabindex="-1">先决条件 <a class="header-anchor" href="#先决条件" aria-label="Permalink to &quot;先决条件&quot;"></a></h2><ul><li><a href="https://docs.docker.com/get-docker/" target="_blank" rel="noreferrer">Docker</a></li><li><a href="https://docs.docker.com/compose/install/" target="_blank" rel="noreferrer">Docker Compose v2</a></li><li>Git</li></ul><h2 id="一键安装-推荐" tabindex="-1">一键安装(推荐) <a class="header-anchor" href="#一键安装-推荐" aria-label="Permalink to &quot;一键安装(推荐)&quot;"></a></h2><p>官方脚本(本机已装好 Docker 与 Compose):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span></span></code></pre></div><p>脚本会:检查 Docker/Compose;交互问配置(工作区、数据目录、管理员、JWT、Postgres 密码、是否开 sparse、浏览器核等);从 GitHub 取最新发布并克隆;按 Docker 模板生成 <code>config.toml</code>;钉死镜像版本;按选的核编浏览器镜像并拉齐服务。</p><p><strong>静默安装</strong>(全默认、无提问):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -y</span></span></code></pre></div><p>静默时默认大概:工作区 <code>~/memoh</code>;数据 <code>~/memoh/data</code>;管理员 <code>admin</code> / <code>admin123</code>JWT 随机;Postgres 密码 <code>memoh123</code></p><p><strong>指定版本:</strong></p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -s</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --version</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> v0.6.0</span></span></code></pre></div><p>或:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> MEMOH_VERSION=v0.6.0</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span></span></code></pre></div><p><strong>大陆镜像</strong>(拉镜像慢时):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://memoh.sh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> USE_CN_MIRROR=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sh</span></span></code></pre></div><blockquote><p>环境变量可组合,例如 <code>MEMOH_VERSION=v0.6.0 USE_CN_MIRROR=true</code></p></blockquote><h2 id="手动安装" tabindex="-1">手动安装 <a class="header-anchor" href="#手动安装" aria-label="Permalink to &quot;手动安装&quot;"></a></h2><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/memohai/Memoh.git</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Memoh</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> conf/app.docker.toml</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> config.toml</span></span></code></pre></div><p>至少改 <code>config.toml</code> 里:</p><ul><li><code>admin.password</code></li><li><code>auth.jwt_secret</code>(可 <code>openssl rand -base64 32</code></li><li><code>postgres.password</code>(环境变量 <code>POSTGRES_PASSWORD</code> 要一致)</li></ul><p>然后(推荐开 Qdrant、浏览器、sparse):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POSTGRES_PASSWORD=你的库密码</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> qdrant</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> browser</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sparse</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><p>只跑核心(无向量、无浏览器):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POSTGRES_PASSWORD=你的库密码</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><blockquote><p>macOS 或用户已在 <code>docker</code> 组里,一般不必 <code>sudo</code></p></blockquote><blockquote><p><strong>重要</strong><code>docker-compose.yml</code> 默认挂 <code>./config.toml</code>,先建好文件再 <code>up</code>,否则起不来。</p></blockquote><h3 id="大陆镜像源" tabindex="-1">大陆镜像源 <a class="header-anchor" href="#大陆镜像源" aria-label="Permalink to &quot;大陆镜像源&quot;"></a></h3><p>拉 Docker Hub 困难时,在 <code>config.toml</code> 里取消 <code>registry</code> 一行的注释:</p><div class="language-toml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">toml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">workspace</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">registry = </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;memoh.cn&quot;</span></span></code></pre></div><p>并叠加国内 overlay</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker-compose.yml</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docker/docker-compose.cn.yml</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> qdrant</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --profile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> browser</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span></span></code></pre></div><p>一键脚本在 <code>USE_CN_MIRROR=true</code> 时会处理这套。</p><h2 id="访问地址" tabindex="-1">访问地址 <a class="header-anchor" href="#访问地址" aria-label="Permalink to &quot;访问地址&quot;"></a></h2><p>起来之后:</p><table tabindex="0"><thead><tr><th>服务</th><th>地址</th></tr></thead><tbody><tr><td>网页</td><td><a href="http://localhost:8082" target="_blank" rel="noreferrer">http://localhost:8082</a></td></tr><tr><td>API</td><td><a href="http://localhost:8080" target="_blank" rel="noreferrer">http://localhost:8080</a></td></tr><tr><td>浏览器网关</td><td><a href="http://localhost:8083" target="_blank" rel="noreferrer">http://localhost:8083</a></td></tr></tbody></table><p>默认登录 <code>admin</code> / <code>admin123</code>(请在 <code>config.toml</code> 改掉)。首次拉镜像、初始化可能要一两分钟。</p><h2 id="配置总览" tabindex="-1">配置总览 <a class="header-anchor" href="#配置总览" aria-label="Permalink to &quot;配置总览&quot;"></a></h2><p><code>config.toml</code> 主段落大致如下:</p><table tabindex="0"><thead><tr><th>段落</th><th>含义</th></tr></thead><tbody><tr><td><code>[log]</code></td><td>等级与格式(<code>info</code>/<code>debug</code><code>text</code>/<code>json</code></td></tr><tr><td><code>[server]</code></td><td>监听,默认 <code>:8080</code></td></tr><tr><td><code>[admin]</code></td><td>管理员账号</td></tr><tr><td><code>[auth]</code></td><td>JWT 与过期时间</td></tr><tr><td><code>timezone</code></td><td>服时区,默认 <code>UTC</code></td></tr><tr><td><code>[containerd]</code></td><td>socket 与 namespace</td></tr><tr><td><code>[workspace]</code></td><td>镜像、快照、数据路径、CNI、可选仓库镜像</td></tr><tr><td><code>[postgres]</code></td><td>连接串</td></tr><tr><td><code>[qdrant]</code></td><td>Qdrant 地址、密钥、超时</td></tr><tr><td><code>[sparse]</code></td><td>稀疏服务 URL</td></tr><tr><td><code>[registry]</code></td><td>供应商定义目录</td></tr><tr><td><code>[browser_gateway]</code></td><td>浏览器网关</td></tr><tr><td><code>[web]</code></td><td>前端 host/port</td></tr></tbody></table><h2 id="常用命令" tabindex="-1">常用命令 <a class="header-anchor" href="#常用命令" aria-label="Permalink to &quot;常用命令&quot;"></a></h2><blockquote><p>Linux 上若用户不在 <code>docker</code> 组,命令前加 <code>sudo</code></p></blockquote><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 起</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> down</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 停</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> logs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -f</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 看日志</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ps</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 状态</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pull</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &amp;&amp; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> up</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 更新镜像再起</span></span></code></pre></div><h2 id="环境变量" tabindex="-1">环境变量 <a class="header-anchor" href="#环境变量" aria-label="Permalink to &quot;环境变量&quot;"></a></h2><table tabindex="0"><thead><tr><th>变量</th><th>默认</th><th>说明</th></tr></thead><tbody><tr><td><code>POSTGRES_PASSWORD</code></td><td><code>memoh123</code></td><td>须与 <code>config.toml</code><code>postgres.password</code> 一致</td></tr><tr><td><code>MEMOH_CONFIG</code></td><td><code>./config.toml</code></td><td>配置文件路径</td></tr><tr><td><code>MEMOH_VERSION</code></td><td>最新发版</td><td>要装的 git 标签,也用于钉死镜像</td></tr><tr><td><code>USE_CN_MIRROR</code></td><td><code>false</code></td><td>是否用大陆镜像</td></tr><tr><td><code>BROWSER_CORES</code></td><td><code>chromium,firefox</code></td><td>浏览器镜像里包含的引擎</td></tr><tr><td><code>BROWSER_TAG</code></td><td><code>latest</code></td><td>浏览器镜像 tag</td></tr></tbody></table></div></div></main><footer class="VPDocFooter" data-v-888acc39 data-v-64297f89><!--[--><!--]--><div class="edit-info" data-v-64297f89><div class="edit-link" data-v-64297f89><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/memohai/Memoh/edit/main/docs/docs/zh/installation/docker.md" target="_blank" rel="noreferrer" data-v-64297f89><!--[--><span class="vpi-square-pen edit-link-icon" data-v-64297f89></span> Edit on GitHub<!--]--></a></div><div class="last-updated" data-v-64297f89><p class="VPLastUpdated" data-v-64297f89 data-v-1cbf3ee4>Last Updated: <time datetime="2026-04-24T06:36:07.000Z" data-v-1cbf3ee4></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-64297f89><span class="visually-hidden" id="doc-footer-aria-label" data-v-64297f89>Pager</span><div class="pager" data-v-64297f89><a class="VPLink link pager-link prev" href="/zh/about.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Previous page</span><span class="title" data-v-64297f89>了解 Memoh</span><!--]--></a></div><div class="pager" data-v-64297f89><a class="VPLink link pager-link next" href="/zh/getting-started/provider-and-model.html" data-v-64297f89><!--[--><span class="desc" data-v-64297f89>Next page</span><span class="title" data-v-64297f89>供应商与模型</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-ba7c87da data-v-137d0c52><div class="container" data-v-137d0c52><p class="message" data-v-137d0c52>Published under AGPLv3</p><p class="copyright" data-v-137d0c52>Copyright © 2024 Memoh</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"about.md\":\"BjgA6DuA\",\"blogs_2026-02-16.md\":\"BNMeYY71\",\"blogs_index.md\":\"BU7HIh5k\",\"channels_dingtalk.md\":\"B5SBhtPg\",\"channels_discord.md\":\"nWxkk0E9\",\"channels_feishu.md\":\"BdLiDNPX\",\"channels_index.md\":\"BMhis6AA\",\"channels_matrix.md\":\"DurhP29P\",\"channels_misskey.md\":\"K_p2b9tc\",\"channels_qq.md\":\"xrtB7-Cp\",\"channels_slack.md\":\"DJzfVI9g\",\"channels_telegram.md\":\"DHWAMJPN\",\"channels_wechatoa.md\":\"6qw2hORh\",\"channels_wecom.md\":\"CvQSc0QF\",\"channels_weixin.md\":\"NGCJG9Zr\",\"getting-started_access.md\":\"YqNM6CpY\",\"getting-started_bot.md\":\"Cun_Y-ny\",\"getting-started_browser.md\":\"CjVL6wjg\",\"getting-started_channels.md\":\"zZ6TuOep\",\"getting-started_compaction.md\":\"G9ICyEJo\",\"getting-started_container.md\":\"CrcDm5m4\",\"getting-started_email.md\":\"DN5WsFFI\",\"getting-started_files.md\":\"Db2yzSPF\",\"getting-started_heartbeat.md\":\"hEHFzwV2\",\"getting-started_mcp.md\":\"BZLjLQ-y\",\"getting-started_memory.md\":\"5cl77orc\",\"getting-started_provider-and-model.md\":\"ee3Zv59w\",\"getting-started_schedule.md\":\"BgiO7WiT\",\"getting-started_search-provider.md\":\"C6dGU9hk\",\"getting-started_sessions.md\":\"MU-Cy0GW\",\"getting-started_skills.md\":\"DTJvqMSO\",\"getting-started_slash-commands.md\":\"ChJs4d6R\",\"getting-started_supermarket.md\":\"BqLtu6vF\",\"index.md\":\"DzWsM5pb\",\"installation_docker.md\":\"Dv63A02F\",\"memory-providers_builtin.md\":\"EikeTjwl\",\"memory-providers_index.md\":\"Db8RSqmA\",\"memory-providers_mem0.md\":\"DpAU5KWk\",\"memory-providers_openviking.md\":\"CFYGljE_\",\"tts-providers_edge.md\":\"BX5H-DX1\",\"tts-providers_index.md\":\"D7QeNyIs\",\"zh_about.md\":\"B7OBOXmY\",\"zh_channels_dingtalk.md\":\"D9yScEqY\",\"zh_channels_discord.md\":\"hDZvIkCe\",\"zh_channels_feishu.md\":\"CXq0MfFS\",\"zh_channels_index.md\":\"BWP88zIP\",\"zh_channels_matrix.md\":\"Vnmdv9SZ\",\"zh_channels_misskey.md\":\"DqxQOux5\",\"zh_channels_qq.md\":\"BNeEboWG\",\"zh_channels_slack.md\":\"BorAvxVv\",\"zh_channels_telegram.md\":\"aog6LT57\",\"zh_channels_wechatoa.md\":\"NF2lyD-H\",\"zh_channels_wecom.md\":\"B6C5NGt8\",\"zh_channels_weixin.md\":\"CN1Tpz9B\",\"zh_getting-started_access.md\":\"Xdj3gnBr\",\"zh_getting-started_bot.md\":\"CX52RbZZ\",\"zh_getting-started_browser.md\":\"D8vb0V4w\",\"zh_getting-started_channels.md\":\"Dq9OGdFi\",\"zh_getting-started_compaction.md\":\"Hrp0kpsz\",\"zh_getting-started_container.md\":\"D8xPCDfk\",\"zh_getting-started_email.md\":\"A8DZo4sU\",\"zh_getting-started_files.md\":\"XzVEmYRS\",\"zh_getting-started_heartbeat.md\":\"-PcsvFfb\",\"zh_getting-started_mcp.md\":\"DjOk5SWR\",\"zh_getting-started_memory.md\":\"DwSkbf1D\",\"zh_getting-started_provider-and-model.md\":\"Dh-N6ess\",\"zh_getting-started_schedule.md\":\"SwTd2ck9\",\"zh_getting-started_search-provider.md\":\"B_ir3heu\",\"zh_getting-started_sessions.md\":\"Co3PgbK6\",\"zh_getting-started_skills.md\":\"D7x3PuS-\",\"zh_getting-started_slash-commands.md\":\"CLkXYQTD\",\"zh_getting-started_supermarket.md\":\"CmK_MQg3\",\"zh_index.md\":\"dyJoE-Ka\",\"zh_installation_docker.md\":\"CE0ppM2m\",\"zh_memory-providers_builtin.md\":\"DF4YWtnz\",\"zh_memory-providers_index.md\":\"Dp4W68u7\",\"zh_memory-providers_mem0.md\":\"DqMDmCIG\",\"zh_memory-providers_openviking.md\":\"C4M6Csyz\",\"zh_tts-providers_edge.md\":\"wQ1jlxqC\",\"zh_tts-providers_index.md\":\"Dc8Cv1W6\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Memoh Documentation\",\"description\":\"Multi-Member, Structured Long-Memory, Containerized AI Agent System.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"siteTitle\":\"Memoh\",\"sidebar\":{\"/blogs/\":[{\"text\":\"Blogs\",\"link\":\"/blogs/index.md\",\"items\":[{\"text\":\"Introduction (Feb 2026)\",\"link\":\"/blogs/2026-02-16.md\"}]}],\"/\":[{\"text\":\"Overview\",\"link\":\"/index.md\"},{\"text\":\"About Memoh\",\"link\":\"/about.md\"},{\"text\":\"Installation\",\"items\":[{\"text\":\"Docker\",\"link\":\"/installation/docker.md\"}]},{\"text\":\"Getting Started\",\"items\":[{\"text\":\"LLM Provider\",\"link\":\"/getting-started/provider-and-model.md\"},{\"text\":\"Bot\",\"link\":\"/getting-started/bot.md\"},{\"text\":\"Sessions\",\"link\":\"/getting-started/sessions.md\"},{\"text\":\"Access Control\",\"link\":\"/getting-started/access.md\"},{\"text\":\"Container\",\"link\":\"/getting-started/container.md\"},{\"text\":\"Files\",\"link\":\"/getting-started/files.md\"},{\"text\":\"Skills\",\"link\":\"/getting-started/skills.md\"},{\"text\":\"Supermarket\",\"link\":\"/getting-started/supermarket.md\"},{\"text\":\"MCP\",\"link\":\"/getting-started/mcp.md\"},{\"text\":\"Channels\",\"link\":\"/getting-started/channels.md\"},{\"text\":\"Browser\",\"link\":\"/getting-started/browser.md\"},{\"text\":\"Memory\",\"link\":\"/getting-started/memory.md\"},{\"text\":\"Context Compaction\",\"link\":\"/getting-started/compaction.md\"},{\"text\":\"Heartbeat\",\"link\":\"/getting-started/heartbeat.md\"},{\"text\":\"Scheduled Tasks\",\"link\":\"/getting-started/schedule.md\"},{\"text\":\"Web Search\",\"link\":\"/getting-started/search-provider.md\"},{\"text\":\"Email\",\"link\":\"/getting-started/email.md\"},{\"text\":\"Slash Commands\",\"link\":\"/getting-started/slash-commands.md\"}]},{\"text\":\"Memory Providers\",\"items\":[{\"text\":\"Overview\",\"link\":\"/memory-providers/index.md\"},{\"text\":\"Built-in\",\"link\":\"/memory-providers/builtin.md\"},{\"text\":\"Mem0\",\"link\":\"/memory-providers/mem0.md\"},{\"text\":\"OpenViking\",\"link\":\"/memory-providers/openviking.md\"}]},{\"text\":\"TTS Providers\",\"items\":[{\"text\":\"Overview\",\"link\":\"/tts-providers/index.md\"},{\"text\":\"Edge TTS\",\"link\":\"/tts-providers/edge.md\"}]},{\"text\":\"Channels\",\"items\":[{\"text\":\"Overview\",\"link\":\"/channels/index.md\"},{\"text\":\"Telegram\",\"link\":\"/channels/telegram.md\"},{\"text\":\"Feishu (Lark)\",\"link\":\"/channels/feishu.md\"},{\"text\":\"Discord\",\"link\":\"/channels/discord.md\"},{\"text\":\"QQ\",\"link\":\"/channels/qq.md\"},{\"text\":\"Matrix\",\"link\":\"/channels/matrix.md\"},{\"text\":\"Misskey\",\"link\":\"/channels/misskey.md\"},{\"text\":\"DingTalk\",\"link\":\"/channels/dingtalk.md\"},{\"text\":\"WeCom (WeWork)\",\"link\":\"/channels/wecom.md\"},{\"text\":\"WeChat\",\"link\":\"/channels/weixin.md\"},{\"text\":\"WeChat Official Account\",\"link\":\"/channels/wechatoa.md\"},{\"text\":\"Slack\",\"link\":\"/channels/slack.md\"}]}],\"/zh/\":[{\"text\":\"文档总览\",\"link\":\"/zh/index.md\"},{\"text\":\"关于与安装\",\"items\":[{\"text\":\"了解 Memoh\",\"link\":\"/zh/about.md\"},{\"text\":\"Docker 安装\",\"link\":\"/zh/installation/docker.md\"}]},{\"text\":\"入门\",\"items\":[{\"text\":\"供应商与模型\",\"link\":\"/zh/getting-started/provider-and-model.md\"},{\"text\":\"机器人\",\"link\":\"/zh/getting-started/bot.md\"},{\"text\":\"会话\",\"link\":\"/zh/getting-started/sessions.md\"},{\"text\":\"访问控制\",\"link\":\"/zh/getting-started/access.md\"},{\"text\":\"容器\",\"link\":\"/zh/getting-started/container.md\"},{\"text\":\"文件\",\"link\":\"/zh/getting-started/files.md\"},{\"text\":\"技能\",\"link\":\"/zh/getting-started/skills.md\"},{\"text\":\"超市\",\"link\":\"/zh/getting-started/supermarket.md\"},{\"text\":\"MCP\",\"link\":\"/zh/getting-started/mcp.md\"},{\"text\":\"渠道(入门)\",\"link\":\"/zh/getting-started/channels.md\"},{\"text\":\"浏览器\",\"link\":\"/zh/getting-started/browser.md\"},{\"text\":\"长期记忆\",\"link\":\"/zh/getting-started/memory.md\"},{\"text\":\"会话上下文压缩\",\"link\":\"/zh/getting-started/compaction.md\"},{\"text\":\"心跳\",\"link\":\"/zh/getting-started/heartbeat.md\"},{\"text\":\"计划任务\",\"link\":\"/zh/getting-started/schedule.md\"},{\"text\":\"搜索提供方\",\"link\":\"/zh/getting-started/search-provider.md\"},{\"text\":\"邮件\",\"link\":\"/zh/getting-started/email.md\"},{\"text\":\"斜杠命令\",\"link\":\"/zh/getting-started/slash-commands.md\"}]},{\"text\":\"记忆提供方\",\"items\":[{\"text\":\"总览\",\"link\":\"/zh/memory-providers/index.md\"},{\"text\":\"内置\",\"link\":\"/zh/memory-providers/builtin.md\"},{\"text\":\"Mem0\",\"link\":\"/zh/memory-providers/mem0.md\"},{\"text\":\"OpenViking\",\"link\":\"/zh/memory-providers/openviking.md\"}]},{\"text\":\"TTS\",\"items\":[{\"text\":\"总览\",\"link\":\"/zh/tts-providers/index.md\"},{\"text\":\"Edge TTS\",\"link\":\"/zh/tts-providers/edge.md\"}]},{\"text\":\"渠道\",\"items\":[{\"text\":\"总览\",\"link\":\"/zh/channels/index.md\"},{\"text\":\"Slack\",\"link\":\"/zh/channels/slack.md\"},{\"text\":\"Telegram\",\"link\":\"/zh/channels/telegram.md\"},{\"text\":\"飞书\",\"link\":\"/zh/channels/feishu.md\"},{\"text\":\"Discord\",\"link\":\"/zh/channels/discord.md\"},{\"text\":\"QQ\",\"link\":\"/zh/channels/qq.md\"},{\"text\":\"Matrix\",\"link\":\"/zh/channels/matrix.md\"},{\"text\":\"Misskey\",\"link\":\"/zh/channels/misskey.md\"},{\"text\":\"钉钉\",\"link\":\"/zh/channels/dingtalk.md\"},{\"text\":\"企微\",\"link\":\"/zh/channels/wecom.md\"},{\"text\":\"微信\",\"link\":\"/zh/channels/weixin.md\"},{\"text\":\"微信公众号\",\"link\":\"/zh/channels/wechatoa.md\"}]}]},\"nav\":[{\"text\":\"Guides\",\"link\":\"/\"},{\"text\":\"Blogs\",\"link\":\"/blogs/\"}],\"logo\":{\"src\":\"/logo.svg\",\"alt\":\"Memoh\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/memohai/Memoh\"}],\"footer\":{\"message\":\"Published under AGPLv3\",\"copyright\":\"Copyright © 2024 Memoh\"},\"search\":{\"provider\":\"local\"},\"editLink\":{\"pattern\":\"https://github.com/memohai/Memoh/edit/main/docs/docs/:path\",\"text\":\"Edit on GitHub\"},\"lastUpdated\":{\"text\":\"Last Updated\",\"formatOptions\":{\"dateStyle\":\"short\",\"timeStyle\":\"medium\"}}},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en\"},\"zh\":{\"label\":\"简体中文\",\"lang\":\"zh\"}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>