dev-tools 5 min read

DeepNotes - Nested Infinite Canvas with E2E Encryption

DeepNotes is an open-source infinite canvas tool with end-to-end encryption, deep page nesting, and realtime collaboration — self-hostable via Docker.

By
Share: X in
DeepNotes product thumbnail showing nested canvas pages

TL;DR

TL;DR: DeepNotes is an open-source, end-to-end encrypted infinite canvas tool with deep page nesting and realtime collaboration. Self-host it with Docker in minutes.

Source and Accuracy Notes

What Is DeepNotes?

DeepNotes is a visual note-taking tool built around the concept of deeply nested infinite canvases. Rather than a flat list of notes or a single giant whiteboard, DeepNotes organizes notes into layered pages that can be infinitely nested — letting you explore ideas at any level of depth without losing context.

The project positions itself as an alternative to both linear note-taking apps and flat canvas tools. Its core pitch:

DeepNotes is an open source, end-to-end encrypted infinite canvas tool with deep page nesting and realtime collaboration.

Key differentiators:

  • Deep page nesting — pages inside pages inside pages, with smooth navigation between depth levels
  • End-to-end encryption — notes are encrypted before leaving your device; only you and your collaborators hold the keys
  • Realtime collaboration — shared groups let teams work on the same canvas simultaneously, powered by Yjs
  • Self-hostable — runs on your own infrastructure via Docker and Docker Compose

Setup Workflow

Prerequisites

  • Git
  • Node.js 18+ (if running without Docker)
  • Docker and Docker Compose (recommended)
  • pnpm (for local development)

Clone the repo and spin up all services with one command:

git clone https://github.com/DeepNotesApp/DeepNotes && cd DeepNotes
docker-compose up -d

Access the app at http://localhost:60379 (default port). You can configure the host and ports in the .env file.

Option 2: Local Development

git clone https://github.com/DeepNotesApp/DeepNotes && cd DeepNotes
cp template.env .env
pnpm install
pnpm run repo:build

Start the backend:

pnpm run dev

Start one of the frontend variants:

pnpm run dev:spa      # Single Page Application (default)
pnpm run dev:ssr      # Server-Side Rendered
pnpm run dev:electron # Desktop app (Electron)

Then access at http://localhost:60379.

Option 3: Mobile Development

pnpm run dev:android  # Requires Android Studio
pnpm run dev:ios      # Requires Xcode

Feature Overview

| Feature | Details | |---|---| | Canvas type | Infinite 2D canvas | | Nesting | Infinite deep page nesting | | Encryption | End-to-end (client-side) | | Collaboration | Realtime via Yjs | | Editor | Rich text via Tiptap | | Frontend | Vue.js + Quasar Framework | | Backend memory | KeyDB + Redis | | License | AGPL-3.0 | | Self-host | Docker + Docker Compose |

Practical Evaluation Checklist

  • Clone and run docker-compose up -d — does it start without errors?
  • Can you create a canvas and nest a page inside it?
  • Does the E2E encryption actually prevent the server from reading note content?
  • Is the frontend responsive and usable on mobile?
  • Does realtime collaboration work between two browser tabs?

Security Notes

DeepNotes claims end-to-end encryption, meaning note content is encrypted on the client before being sent to the server. However:

  • The AGPL-3.0 license requires you to publish modifications to the server code
  • The encryption implementation should be audited independently before using it for highly sensitive data
  • Self-hosting moves the trust boundary to your own infrastructure, which is a meaningful improvement over cloud-only note apps

FAQ

Q: Is this a replacement for Notion or Miro? A: DeepNotes is closer to Miro’s canvas model but with a unique nested-page approach. It’s not a full-featured wiki like Notion — no databases, no inline formulas. It excels at nested visual exploration, not structured documentation.

Q: How does deep page nesting work in practice? A: You can create a page inside a page inside a page. Navigation zooms into and out of depth levels. The documentation includes a diagram of three concentric page frames illustrating the concept.

Q: Can I use this without encryption? A: Encryption is enabled by default. You can opt out by self-hosting without the encryption layer, but then your notes on the server are plaintext.

Q: What happens if I forget my encryption key? A: E2E encryption means the server cannot recover your data if you lose your key. There is no password reset for encrypted content.

Q: Is there a hosted/cloud version? A: Not officially. DeepNotes is designed to be self-hosted. There is no managed cloud offering at this time.

Conclusion

DeepNotes fills a specific niche: visual thinkers who want the infinite canvas model but need structured depth — pages within pages — to organize complex ideas. The E2E encryption and self-hosting option make it attractive for privacy-conscious users or teams that cannot use cloud-only tools.

The AGPL-3.0 license is worth noting: if you modify the server code for internal use, you must publish those changes. For most teams this is not a problem, but enterprise users should factor in the compliance requirement.

If you want a self-hostable, encrypted canvas with deep nesting and realtime collaboration, DeepNotes is worth spinning up. Start with docker-compose up -d and explore from there.

Source: The installation commands above are copied verbatim from the DeepNotes README. The feature table is derived from the README and GitHub API metadata.