Skip to content
/ zen Public

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

License

Notifications You must be signed in to change notification settings

sheshbabu/zen

Repository files navigation

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
  • Templates
  • Pinned notes
  • Archive and soft delete notes
  • Minimal dependency footprint
  • Automated backups (via Zen Backup)

Experimental Features

  • Canvas for spatial organization of notes and images (stored as JSON Canvas)
  • Semantic search for notes and images (via Zen Intelligence)
  • Similar images (via Zen Intelligence)
  • MCP for searching, listing and reading notes

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages