Files
mempalace/deploy/unraid/mempalace-server.xml
2026-05-09 10:52:25 -05:00

100 lines
3.6 KiB
XML

<?xml version="1.0"?>
<Container version="2">
<Name>MemPalace</Name>
<Repository>mempalace-server:latest</Repository>
<Registry>https://github.com/MemPalace/mempalace</Registry>
<Network>bridge</Network>
<MyIP/>
<Shell>sh</Shell>
<Privileged>false</Privileged>
<Support>https://github.com/MemPalace/mempalace/issues</Support>
<Project>https://github.com/MemPalace/mempalace</Project>
<Overview>
Local-first AI memory server. Stores conversations and project content
verbatim in a searchable palace, exposed to MCP-compatible AI tools
(Claude Code, Codex, Antigravity, etc.) over Server-Sent Events on
port 8765.
The image is built locally — see Dockerfile in the repo root. From the
Unraid CLI:
cd /mnt/user/&lt;path&gt;/mempalace
docker build -t mempalace-server:latest .
Then add this template via Add Container -- Template.
Mount /mnt/user/appdata/mempalace to /data for persistent storage of
the ChromaDB index, SQLite knowledge graph, and embedding-model cache.
SECURITY: this container exposes the MCP endpoint without authentication.
Bind it to a trusted network (LAN-only or Tailscale) or place it behind
SWAG / Nginx Proxy Manager with bearer-token or basic auth.
Endpoint: http://[UNRAID-IP]:8765/sse
</Overview>
<Category>Productivity: Tools: Other:</Category>
<WebUI/>
<TemplateURL/>
<Icon>https://raw.githubusercontent.com/MemPalace/mempalace/develop/assets/mempalace_logo.png</Icon>
<ExtraParams>--user 99:100</ExtraParams>
<PostArgs/>
<CPUset/>
<DateInstalled/>
<DonateText/>
<DonateLink/>
<Description>
Persistent AI memory across machines. Connect Claude Code, Codex,
Antigravity, or any MCP-compatible client to a single shared palace.
</Description>
<Config Name="MCP SSE port"
Target="8765"
Default="8765"
Mode="tcp"
Description="Port the MCP-over-SSE endpoint listens on. Clients connect to http://[UNRAID-IP]:[PORT]/sse."
Type="Port"
Display="always"
Required="true"
Mask="false">8765</Config>
<Config Name="Appdata"
Target="/data"
Default="/mnt/user/appdata/mempalace"
Mode="rw"
Description="Persistent storage for the palace (ChromaDB), knowledge graph (SQLite), embedding-model cache, and config."
Type="Path"
Display="always"
Required="true"
Mask="false">/mnt/user/appdata/mempalace</Config>
<Config Name="Palace path (inside container)"
Target="MEMPALACE_PALACE_PATH"
Default="/data/palace"
Mode=""
Description="Subdirectory inside /data where ChromaDB files live. Change only if migrating from a different layout."
Type="Variable"
Display="advanced"
Required="false"
Mask="false">/data/palace</Config>
<Config Name="Embedding device"
Target="MEMPALACE_EMBEDDING_DEVICE"
Default=""
Mode=""
Description="ONNX execution provider: cpu | cuda | dml | coreml. Leave blank for auto. CUDA requires the NVIDIA Driver plugin and GPU passthrough; the image must be rebuilt with the [gpu] extra installed."
Type="Variable"
Display="advanced"
Required="false"
Mask="false"></Config>
<Config Name="Entity-detection languages"
Target="MEMPALACE_ENTITY_LANGUAGES"
Default="en"
Mode=""
Description="Comma-separated language codes for entity detection (e.g. en,es,de)."
Type="Variable"
Display="advanced"
Required="false"
Mask="false">en</Config>
</Container>