A self-hosted, privacy-first, local-first note-taking application with bidirectional linking and offline support.
Notees is a local-first, self-hosted note-taking app. Your workspace data lives in a client-side SQLite database inside the browser; edits happen instantly and sync to your own server when you are online. It supports wiki-style [[links]], backlinks, block-based editing, daily journals, tasks, queries, graph view, whiteboards, flashcards, and plugins.
The mobile app is a native Flutter companion focused on phone workflows. It lives in its own repository: miquelrosell99/notees-flutter.
- Installation — prerequisites, development stack, production deployment
- Configuration — environment variables, security settings, first-boot registration
- Usage — pages/blocks, links, journals, tasks, queries, graph/whiteboard, export, offline use
- Developer Guide — project structure, tests, lint, local development, key conventions
- Architecture — technical architecture: data model, query layer, sync, performance
- API Reference — REST API and operation relay endpoints
- Plugins — plugin system, manifest, built-in plugins
- Troubleshooting — common issues and fixes
- FAQ — frequently asked questions
- Security Policy
- Changelog
# Configure environment
cp .env.example .env
# Edit .env and set SECRET_KEY, ADMIN_PASSWORD, POSTGRES_PASSWORD
# Run the development stack
task dev
# Or: docker compose -f compose.dev.yaml up- Frontend: http://localhost:5173
- Backend API: http://localhost:8001
For production deployment, see docs/installation.md.
This project was developed with the assistance of AI tools. AI was used throughout the development process to help design architecture, write code, and solve problems.
Contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See Developer Guide for tests and linting commands.
Notees is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
This ensures the software remains free and open-source, even when used over a network. If you modify and deploy Notees as a web service, you must make your source code available to users.
See the LICENSE file for the full license text.
Inspired by tools like Roam Research, Logseq, and Obsidian. Built with FastAPI, React, and PostgreSQL.