MemoDocumentation
EN

Quick Start

No terminal skills needed. llama.cpp and the engine binaries are bundled.

Platform One-line install
Linux / macOS curl -fsSL https://data.memocpp.com/get-memo.sh | bash
Windows irm https://data.memocpp.com/get-memo.ps1 | iex

The first launch opens the setup wizard: connect a model (local, API key or subscription), pick an embedding model, and optionally mail, channels and the daily briefing. Required steps are starred and it resumes where you left off.

📦 What the installer does
  • Installs the memo CLI on your PATH and the Flutter desktop app (find Memo in your app menu)
  • Copies the engine binaries (llama-server, vec0), GPU-ready
  • Seeds default configs and never overwrites your settings; safe to re-run
🔄 Update, uninstall, manual download

Memo can update itself from inside the app. Versions up to 4.6.0 have no updater, so moving from one of those is a single manual update (re-run the installer); after that, updates are one click.

curl -fsSL https://data.memocpp.com/update.sh | bash      # update
curl -fsSL https://data.memocpp.com/uninstall.sh | bash   # uninstall (optionally backs up memory)

Or download a release from memocpp.com:

Platform Instructions
Linux tar xzf memo.tar.gz -d Memo && cd Memo && ./run_memo.sh
Windows Run Memo-Setup.exe
macOS unzip memo-mac.zip -d Memo && cd Memo && ./run_memo.sh

Build Linux
Build Windows
Build macOS

🏠 Self-hosting: Raspberry Pi, home server, VPS (no desktop app)

Run Memo 24/7 on its own box and reach it from the desktop or mobile app. No Flutter GUI is installed on the machine itself.

# Native install (Linux x86_64/arm64, Raspberry Pi included, or macOS)
curl -fsSL https://data.memocpp.com/get-memo-server.sh | bash

# Or Docker / CasaOS (multi-arch: amd64 + arm64)
docker compose -f docker/docker-compose.yml up -d     # see docker/README.md

memo service install --lan   # systemd --user service, auto-restart, LAN-reachable
memo remote status           # auth mode, addresses, warnings
memo config get llama.port   # edit config.yaml from the command line

Four auth modes (open / token / password / token+password) with per-device tokens you can revoke individually. New pieces land on main first; use get-memo-server-beta.sh for the newest. See Self-Hosting.

🛠 For developers: build from source

Prerequisites: Go 1.26+ · Flutter 3.10+ · SQLite dev libraries (for CGO)

git clone https://github.com/BugraAkdemir/memo.git && cd memo

# Terminal 1: backend
CGO_ENABLED=1 go run -tags "sqlite_fts5" . --port 8090

# Terminal 2: frontend
cd frontend && flutter run -d linux

Verification (what CI runs): CGO_ENABLED=1 go test -tags "sqlite_fts5" ./... -race, then cd frontend && flutter analyze lib/ && flutter test. Release packages: ./build_releases.sh (Linux) or .\scripts\build_releases.bat (Windows).



Source document