zen

Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage

GitHub Stars

779

User Rating

Not Rated

Favorites

0

Views

117

Forks

39

Issues

0

README

Zen

Live DemoFeaturesUpdates

Features
  • Single Go binary or Docker Compose
  • Low resource usage
  • Standard Markdown files, local SQLite database
  • Organize with flexible tags, not rigid folders
  • Markdown features like tables, code blocks, task lists, highlights, and more
  • Full-text search with BM25 ranking
  • Import and export data with full portability
  • MCP support for searching, listing and reading notes
  • Minimal dependency footprint
Installation

Build from source

$ make build
Local Development

Run the application using default configuration

$ make dev

Run the application in watch mode

Install air and esbuild

$ go install github.com/air-verse/air@latest
$ go install github.com/evanw/esbuild/cmd/esbuild@latest
$ make watch
Schema Migrations
  • Create new migration file under ./migrations
  • Use the format <version>_<title>.sql
Image Versioning
$ git tag x.y.z
$ git push origin x.y.z
Contributions

This is a personal project built for my own use. The codebase is available for forking and modifications. Note that I may not actively review pull requests or respond to issues due to time constraints.

Thanks