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.
memo CLI on your PATH and the Flutter desktop app (find Memo in your app menu)llama-server, vec0), GPU-readyMemo 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 |
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.
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).