Home
Softono
LibreDiary

LibreDiary

Open source TypeScript
31
Stars
3
Forks
15
Issues
1
Watchers
1 week
Last Commit

About LibreDiary

A self-hosted, open-source alternative to Notion. Block-based editor, real-time collaboration, multi-tenant organisations, and polymorphic storage — built with Vue 3, Fastify, and PostgreSQL. Your data, your control.

Platforms

Web Self-hosted

Languages

TypeScript

LibreDiary Logo

LibreDiary

A self-hosted, local-first workspace for notes, docs, and databases.
Built for focus, designed for clarity, and always under your control.

CI  Release  CodeQL  Docker Image  License

[!WARNING] Active Development — LibreDiary is under active development and has not yet reached a stable release. APIs, database schemas, and configuration formats may change between versions without prior notice. You may encounter incomplete features, unexpected behaviour, or breaking changes when upgrading. We recommend pinning to a specific version in production and reviewing the changelog before updating. Bug reports and feedback are very welcome — please open an issue if something breaks.

Overview

LibreDiary is an open-source alternative to Notion, designed for complete data sovereignty. Unlike cloud-dependent tools, LibreDiary is engineered for self-hosting, ensuring your information remains private and accessible offline.

Key Features:

  • Block-based editor powered by Tiptap
  • Real-time collaboration with CRDT sync
  • Multi-tenant organisation support
  • Polymorphic storage (local, S3, MinIO) with provider migration
  • Enterprise SSO with domain lockdown
  • AI-powered content translation (31 languages via OpenRouter) with caching
  • Hybrid search (Meilisearch + PostgreSQL FTS fallback) with faceted filtering
  • Page version history with diff comparison
  • Auto-delete trash after 30 days
  • Guest share links with access tracking
  • Time tracking with floating timer widget and time reports
  • Onboarding wizard with getting started checklist
  • KaTeX math blocks and markdown round-trip serialisation
  • PWA support with offline viewing
  • Mobile-optimised experience with bottom navigation and quick-capture mode

Tech Stack

Layer Technology
Frontend Vue 3, Vuestic UI, Tiptap, Pinia, Yjs
Backend Node.js, Fastify, Hocuspocus, Prisma
Database PostgreSQL
Search Meilisearch (optional) / PostgreSQL FTS (default)
Infrastructure pnpm, Turborepo, Docker

Roadmap

See the full Project Roadmap for development milestones and progress.

Quick Start

# Clone the repository
git clone https://github.com/your-org/librediary.git
cd librediary

# Install dependencies
pnpm install

# Setup environment
cp .env.example .env

# Start development services
docker compose up -d

# Run database migrations
pnpm db:push

# Start development servers
pnpm dev

Documentation

Guide Description
User Guide Editor, pages, databases, collaboration, search, AI
Admin Guide Setup, user management, storage, backups, monitoring
API Reference All 95+ REST endpoints with auth and examples
Troubleshooting Common issues and solutions
Deployment Docker production deployment
Translating Contributing translations

Deployment

For production self-hosted deployment with Docker, see the Deployment Guide.

Project Structure

librediary/
├── apps/
│   ├── server/     # Fastify backend API
│   └── web/        # Vue 3 frontend
├── packages/
│   ├── shared/     # Shared types, schemas, utilities
│   ├── tsconfig/   # TypeScript configurations
│   └── eslint-config/  # ESLint configurations
└── tooling/        # Build and dev tools

Contributing

See CONTRIBUTING.md for development guidelines.

Help us translate LibreDiary

LibreDiary supports 16 languages. Initial translations were generated by Claude and need native-speaker review to ensure accuracy and natural phrasing.

Whether you want to verify an existing translation or add a new language, see the Translation Guide to get started.

License

GNU AGPLv3 — Derivative works used as a service must share source code.

Credits

Developed by Akaal Creatives

Disclaimer

“Notion is a registered trademark of Notion Labs, Inc. This project is not affiliated with or endorsed by Notion.”