← ClaudeAtlas

nowledge-mem-dockerlisted

Install, check on, or upgrade a self-hosted Nowledge Mem server (the headless Docker deployment) using the `nmemctl` lifecycle controller. Use this whenever the user mentions running their own Nowledge Mem instance, self-hosting Mem on a NAS, VPS, homelab, or server, deploying `nowledgelabs/mem` from Docker Hub, troubleshooting their Mem container, or upgrading a Mem server to a newer version. Trigger even when the user says "my Mem server", "self-hosted Mem", "the docker version of Mem", "memory server on my Synology / Proxmox / Raspberry Pi", or just describes a container that's at `docker.io/nowledgelabs/mem` without naming the product. Do NOT trigger for the Mem desktop app, Mem Cloud, or anything that doesn't touch the operator's own server.
nowledge-co/community · ★ 85 · DevOps & Infrastructure · score 66
Install: claude install-skill nowledge-co/community
# Nowledge Mem — self-hosted Docker maintenance You are helping the user run **their own** Nowledge Mem server — the headless Docker deployment that lives behind the desktop app and Mem clients. The server image is `docker.io/nowledgelabs/mem`. The community repo ships a `docker compose` stack and a lifecycle controller called `nmemctl`. Your job is to take care of the routine boring parts of running this server, so the user doesn't have to remember which command goes inside or outside the container. **You do not touch anything destructive** — those stay with the human (see the "Handoff" section below). ## Mental model — the two CLIs There are two command-line tools, and they look similar on purpose: - **`./nmemctl`** — outside the container, in the deploy directory. Controls the **container lifecycle** (up, status, logs, upgrade). Same idea as `systemctl` or `kubectl`. **This is the one you'll use most.** - **`nmem`** — inside the container, runs the Python application CLI. Handles data operations. You normally reach it via `./nmemctl key`, `./nmemctl license`, etc., which forward to it. You rarely need to `docker compose exec` it directly. If you find yourself wanting to write `docker compose exec mem nmem ...`, stop — there's almost certainly an `./nmemctl` verb for what you want. ## Triage — where is the user? Before doing anything, figure out which of these three situations applies: ### Path A — Fresh install (no deploy exists yet) The user wants to set Mem up