A self hosted second brain application made for agentic workflows.
Most note-taking apps are bad at tasks, and most task apps are disconnected from where technical work actually happens. Rastarbrain combines both: notes and tasks are first-class, and each task can have its own tmux session attached to it.
-
Items are notes or tasks. Tasks have a lifecycle:
todo→doing→done. Notes are freeform. Both support tags, attachments, and source URLs. -
Markdown for tasks and notes with markdown previews.
-
Habits and recurring tasks are first-class. Create a habit like "Exercise" with a schedule (daily, Mon/Wed/Fri, weekly, monthly). rastarbrain generates task instances automatically and tracks completion. Missed a day? It marks it and moves on.
-
An embedded terminal (xterm.js + tmux) lives in the context pane. Run commands alongside your notes. Persistent sessions survive page reloads.
-
Keyboard-driven. Mode-specific shortcuts keep common actions close at hand, including quick search and the command palette.
-
Mobile-ready. Responsive down to phone screens. Touch gestures for triage/review. Tappable buttons where keyboard shortcuts don't exist.
-
Single binary. Download, run, done. No Docker, no Postgres, no Redis. SQLite embedded.
-
Your data, your disk. Everything in
~/.local/share/rastarbrain/. Export anytime as a ZIP. -
Incoming API to bring external tasks. GitHub notifications support built-in. RSS/Atom feeds. Use Triage mode to triage and import them as tasks. Write your own feeder using the API at
POST /api/v1/incoming. See the OpenAPI spec at/api/v1/openapi.yamlfor the schema. -
Workflow modes inspired by Getting things done.
-
tmux sessions get env var for easy agentic workflows. Build your workflows using
init cmdandworkdir.
| Platform | Method | Architecture |
|---|---|---|
| macOS desktop | .dmg from GitHub Releases |
Apple Silicon (arm64) |
| macOS server | Homebrew tap + brew services |
Apple Silicon (arm64) |
| Linux server | Release installer + systemd user service | x86_64 / amd64 |
Download the latest .dmg from GitHub
Releases, open it,
and drag rastarbrain.app into Applications.
The desktop app bundles the Go server as a sidecar — it auto-starts the server and auto-loads the admin token. No setup needed, just launch.
brew tap raghavendra-talur/rastarbrain
brew install rastarbrain
brew services start rastarbrainAfter install, open http://127.0.0.1:9002.
If the UI asks for a token, run:
rastarbrain admin-token --rawThe macOS server release archive on GitHub Releases is reserved for packaging automation and is not a direct installer.
curl -fsSL https://raw.githubusercontent.com/raghavendra-talur/rastarbrain/main/install.sh | bashThis downloads the latest Linux server package, installs the binary into
~/.local/bin, and starts a systemd --user service.
After install, open http://localhost:9002.
If the UI asks for a token, run:
rastarbrain admin-token --rawYou can also download the release archive manually from GitHub
Releases, extract
it, and run ./install.sh.
| Variable | Default | Description |
|---|---|---|
PORT |
9002 |
Server listen port |
HOST |
127.0.0.1 |
Comma-separated bind addresses. 0.0.0.0 for all interfaces, 127.0.0.1,192.168.1.5 for multiple. |
DATA_DIR |
$XDG_DATA_HOME/rastarbrain or ~/.local/share/rastarbrain |
Base directory for DB, files, and config |
DB_PATH |
DATA_DIR/rastarbrain.db |
SQLite database path |
On first run, an admin token is generated and saved to DATA_DIR/adminAuth.json.
- Desktop mode auto-loads that token for you.
- Server mode can print it with
rastarbrain admin-token --raw. - You can also create scoped API tokens via Settings or
POST /api/v1/tokens.
~/.local/share/rastarbrain/
rastarbrain.db # SQLite database
adminAuth.json # auto-generated admin token
preferences.json # user preferences (review feeds, triage config, etc.)
files/ # uploaded attachments
terminal-*.log # tmux session logs
port.txt # actual bound port (for Tauri/launchers)
Update flow depends on how you installed rastarbrain:
- Linux server (direct installer) — the app can surface update availability in Settings → About. Apply server updates by following the instructions shown there or by re-running the installer.
- macOS server (Homebrew) — run
brew update && brew upgrade rastarbrain && brew services restart rastarbrain. - macOS desktop — the built-in Tauri updater handles app updates.
Representative screens from the app:
Full OpenAPI 3.0 spec at /api/v1/openapi.yaml. Create API tokens in Settings for external clients (CLI scripts, iOS shortcuts, browser extensions).
# Quick capture from the command line
curl -X POST http://localhost:9002/api/v1/items \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Read that paper", "type": "task", "status": "todo"}'Go backend (chi router, SQLite, single binary) + React/TypeScript frontend (Vite, embedded at build time). No external runtime dependencies.
Actively developed.
O'SaaSy — MIT with a single addition: you can't resell it as a hosted service.



