Skip to content

zbejas/nana

Repository files navigation

Nana mascot

Nana

Not Another Notes App

A self-hosted document workspace built with Bun, React, TailwindCSS, and PocketBase.

Website · Docker Image · Quick Start

GitHub last commit GitHub issues GitHub license


Why Nana

Nana is for people who want their notes, documents, AI tools, and attachments in one place without handing the whole stack to a third-party service.

  • Self-hosted by default. Your data stays on your server.
  • Markdown-first editing with live preview and attachments.
  • Built-in AI chat with RAG across your documents.
  • Modern stack: Bun, React, TailwindCSS, and PocketBase.
  • Responsive UI that works on desktop and mobile.

Highlights

Markdown editor Live preview, rich formatting, and attachment support.
AI chat Retrieval-augmented chat with support for OpenAI, Google, and Ollama.
Folders and tags Organize documents with nested folders, tags, and a timeline view.
Version history Save snapshots and restore earlier states when needed.
Trash system Recover deleted content instead of losing it permanently.
Mobile-friendly Clean, responsive interface across screen sizes.

Quick Start

Run Nana with Docker Compose:

curl -O https://raw.githubusercontent.com/zbejas/nana/refs/heads/master/compose.yml
docker compose up -d

Or run the container directly:

docker run -d \
	--name nana \
	-p 3000:3000 \
	-v ~/nana/pb_data:/app/pocketbase/pb_data \
	--restart unless-stopped \
	ghcr.io/zbejas/nana:latest

Open http://localhost:3000, create your first account, and start writing.

Default Access

Port Service
3000 Nana web app
8090 PocketBase admin UI

Note

Port 8090 is for PocketBase administration. The app itself is accessed through port 3000.

License

Licensed under AGPL-3.0.

Sponsor this project

 

Packages