Notes, pages, databases, comments, AI workflows, and integrations in one open-source workspace.
App | Docs | Self-host | Contribute | Security
Notelab is an open-source workspace for building and organizing knowledge with structured pages, database views, comments, AI-assisted workflows, and connected tools. It is designed to run as a hosted product or as a self-hosted Docker deployment.
- Write and organize pages with a rich editor, nested navigation, comments, and workspace context.
- Model structured information with standalone or embedded databases, table views, kanban views, timeline views, properties, filters, sorting, and grouping.
- Work with AI in context using page-aware chat, workspace tools, and supported page/database edit flows.
- Connect external systems through shared connector packages for GitHub, Gmail, Google Calendar, Google Drive, Linear, and Slack.
- Run it yourself with Docker Compose, Caddy, Postgres, and MinIO.
| Workspace | Databases | AI workflows |
|---|---|---|
| Replace with a workspace screenshot. | Replace with a database screenshot. | Replace with an AI/chat screenshot. |
Run the self-hosted stack locally:
docker compose up -d --buildOpen:
http://localhost
For production self-hosting, copy the example env file and replace every secret:
cp .env.selfhost.example .env
docker compose up -d --buildIf you already started the stack once before creating .env, remove the old
data volumes before switching credentials, or keep the original default
passwords in .env. Otherwise Postgres and MinIO will keep their old persisted
credentials while the app starts with new ones.
docker compose down -v
docker compose up -d --buildRead the self-hosting guide:
Prerequisites:
- Node.js 22 or newer
- npm
- Docker, for self-hosting checks
Install dependencies:
npm installCommon commands:
| Command | Purpose |
|---|---|
npm run dev:web |
Start the web client. |
npm run build:web |
Type-check and build the web client. |
npm run test:web |
Run web tests. |
npm run dev:server |
Start the serverful API. |
npm run build:server |
Type-check the server. |
npm run dev:desktop |
Start the Tauri desktop shell. |
notelab/
|-- apps/
| |-- web # Vite React web client
| |-- server # Hono API, auth, persistence, AI, integrations
| |-- mobile # Expo mobile client
| `-- desktop # Tauri desktop shell
|-- packages/
| |-- features # Shared client feature hooks and cache logic
| |-- connectors
| |-- page-context
| `-- markdown-text-splitter
|-- docker/
`-- docker-compose.yml
For a deeper system walkthrough, read ARCHITECTURE.md.
The public self-hosted deployment uses Docker Compose with:
- Caddy for HTTP/HTTPS
- Notelab for the web client and API
- Postgres for relational data
- MinIO for S3-compatible image storage
Hosted Notelab Cloud may use private deployment infrastructure. The open-source server exports adapter integration surfaces from @notelab/server/adapter-api; hosted-only adapters are outside the public self-hosting path.
| Need | Where to go |
|---|---|
| Report a bug | Open a bug report |
| Request a feature | Open a feature request |
| Contribute code | Read CONTRIBUTING.md |
| Report a vulnerability | Read SECURITY.md |
| Understand governance | Read GOVERNANCE.md |
Notelab is released under the MIT License.