Runs on your machine AGPL-3.0 GitHub

Tzara

Personal and local, Tzara turns a folder of markdown into a browsable resource. It runs on your own machine, and nothing leaves it.

Install it What it does

What it is

Tzara is for personal note taking in your browser.

Everything is Python + Javascript + Markdown running inside Docker containers that provide some ancillary services (Redis, Postgres + pgvector, Jupyter).

Tzara is a local web frontend for markdown files. This is for personal notes, ideas, that novel you're working on, recipies for ube cookies, and whatever else you might be writing down or creating.

Tzara is a computational notebook. You can write and run python code, make plots, interact with widgets and whatever else you might be creating.

Tzara is agentic. You can create agents to tell you about an interesting topic in math every day, to show you a daily astrononmy picture, and anything else you want to happen in the background.

Tzara is editoric. You can create editors to use while you're composing your notes to do things such as switching from American to British spelling, converting a math expression to LaTeX, or taking a description of some idea and turning it into a mermaid flowchart or a todo list. This is all done with private, local only language models.

Your files stay files. Tzara reads and writes plain markdown on disk. There is a git history and database that operate in a support role only. Your notes are portable and more importantly, its your dada.

See features.

Quick start

You need Docker Desktop (or Docker Engine with Compose v2). Clone the repository and run setup:

git clone https://github.com/joseph-coleman/tzara.git tzara
cd tzara
./setup.sh          # macOS / Linux  -  .\setup.ps1 on Windows

You run the setup script twice on purpose. The first run writes your .env and generates a strong random Postgres password, and then stops so you can review the settings I feel you're going to want to change anyways. Edit .env, then run the setup command again to build and start the stack.

When it is up, the wiki is at http://localhost:8000/ and a readiness check at http://localhost:8000/health reports on Postgres, Redis, Ollama and whether your chat and embedding models are present. Check that first if anything looks wrong.

Full install notes

Quicker start

git clone https://github.com/joseph-coleman/tzara.git tzara
cd tzara
cp .env.template .env
vim .env 
docker compose up --build

The short version

  • Markdown, executed

    Pages render as a wiki, and code cells run inline on an ephemeral per-page Jupyter kernel.

  • Versioned by git

    Every edit is committed to a per-vault history, so anything you or an agent changes is revertable.

  • Ask your notes

    A local model answers questions against a pgvector index of your vault. Chat allows for creating and editing.

  • Agents and Editors

    Background jobs and /-menu text transforms, both authored as plain markdown files.