Docs is a collaborative note-taking and wiki platform designed for teams that need secure, offline-capable documentation with real-time editing. Built using Django for the backend and React with BlockNote.js for the frontend, it enables teams to create, share, and organize knowledge without relying on third-party SaaS tools. Originally developed by the French DINUM and German ZenDiS governments, Docs is optimized for public sector use but is open to all organizations seeking control over their data. Its architecture supports both self-hosting via Docker Compose and Kubernetes, making it ideal for compliance-sensitive environments. The platform emphasizes accessibility, offline editing, and export capabilities while integrating AI-powered text enhancements like summarization and translation.
Unlike traditional wikis or note apps, Docs combines the simplicity of Markdown with rich block-based editing powered by BlockNote.js and real-time collaboration via Yjs and HocusPocus. It’s designed for users who need more than basic text editing—offering granular permissions, subpage hierarchies, and export to ODT, DOCX, and PDF formats—while maintaining a self-hosted, MIT-licensed foundation. This makes it suitable for organizations that require data sovereignty and auditability without sacrificing modern collaboration features.
What You Get
- Real-time collaborative editing - Multiple users can edit documents simultaneously with live cursor tracking and presence indicators, powered by Yjs and HocusPocus for conflict-free text synchronization.
- Offline editing support - Edits are locally cached and automatically synced when connectivity is restored, enabling use in low-bandwidth or intermittent network environments.
- Block-based rich text editor - Use slash commands (/) and keyboard shortcuts to insert headings, lists, code blocks, tables, and more via BlockNote.js, with clean visual formatting without complex markup.
- Export to multiple formats - Export documents as .odt, .docx, and .pdf with customizable templates; PDF export requires disabling MIT-only mode by setting PUBLISH_AS_MIT=false.
- Granular access control - Define who can view, comment on, or edit documents with role-based permissions to ensure sensitive content stays secure.
- Self-hosted deployment - Deploy using Docker Compose or Kubernetes with Minio as S3-compatible storage; includes full control over data and infrastructure.
- AI-powered text actions - Apply AI-driven enhancements such as rephrasing, summarizing, typo correction, and translation directly within the editor via integrated AI actions.
- Subpage organization - Structure knowledge hierarchically with nested subpages to build organized documentation libraries instead of flat note lists.
- Django admin integration - Full access to backend management via Django admin at /admin for user management, content moderation, and system configuration.
Common Use Cases
- Building a government knowledge base - French public agencies use Docs to centralize policy documents, internal procedures, and cross-departmental guidelines with role-based access and audit trails.
- Creating a team wiki for remote developers - Engineering teams use Docs to maintain API documentation, onboarding guides, and sprint retrospectives with real-time collaboration and PDF exports for offline review.
- Problem: SaaS tools violate data sovereignty → Solution: Self-hosted Docs - Organizations subject to GDPR or similar regulations avoid cloud-based Notion or Confluence by deploying Docs on-premises with encrypted storage and no vendor lock-in.
- Team workflow: Multi-department documentation - Legal, HR, and IT teams collaborate on shared handbooks using subpages to organize content by department, with export capabilities for compliance audits.
Under The Hood
The project is a full-stack documentation and collaboration platform built using Python Django and React, designed to support multi-language content creation and user management with a focus on developer experience. It integrates modern web technologies and modular architecture to deliver extensible functionality.
Architecture
This system adopts a monolithic structure with distinct backend and frontend components, ensuring clear separation between business logic, administration, and UI layers. The architecture emphasizes design patterns such as factory and choice patterns to enhance maintainability and scalability.
- Modular organization with well-defined layers for core functionality, admin, and user interfaces
- Consistent application of factory and choice patterns to support extensibility and code clarity
- Clear separation of concerns between backend Django services and frontend React components
Tech Stack
It leverages a modern full-stack tech stack combining Python Django and React, with TypeScript enhancing type safety and developer productivity.
- Built on Python 3.12+ with Django backend and React/Next.js frontend for a responsive UI
- Extensive use of Django packages like django-filter, django-parler, and django-treebeard for enhanced functionality
- Frontend dependencies include styled-components, i18next, and BlockNote for collaborative editing and localization
- Development workflows are supported by Docker, Webpack, Vite, and Makefile for streamlined builds and deployment
Code Quality
The project maintains a structured development approach with linting and testing practices in place, although gaps remain in test coverage and documentation.
- Comprehensive linting and code quality checks are enforced across the codebase
- Testing is conducted using pytest, vitest, and Playwright for both unit and end-to-end scenarios
- Error handling is present but inconsistently applied across different modules and components
- Code style and consistency are maintained through established conventions and tooling
What Makes It Unique
This platform distinguishes itself through its modular design and focus on collaborative content creation in a multi-language environment.
- Unique integration of Django’s powerful backend capabilities with React’s flexible frontend for a seamless documentation experience
- Strong emphasis on extensibility and developer-friendly features such as multi-language support and user role management
- Innovative content editing tools and modular component architecture that support real-time collaboration and customization