Open-source project
docmost/docmost avatar
docmost/docmost

Docmost: A Self-Hosted Collaborative Wiki and Documentation Platform

Docmost is an open-source collaborative wiki and documentation software. It is an open-source alternative to Confluence and Notion.

21,823 stars1,582 forksTypeScriptAGPL-3.0

At a glance

What is it?
Docmost is an open-source wiki and documentation application licensed under AGPL-3.0, offering real-time collaboration, diagram support, spaces, permissions management, and page history. It is a self-hosted alternative to Confluence and Notion that deploys with Docker Compose against PostgreSQL and Redis.
Who is it for?
Docmost is the right choice for teams that want a self-hosted collaborative wiki with real-time editing, Draw.io and Mermaid diagram support, and structured spaces without paying Confluence or Notion pricing. The AGPL-3.0 core license means any modification deployed over a network must be released under the same license; enterprise features in the `apps/server/src/ee` and `apps/client/src/ee` directories are covered by a separate enterprise license.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Docmost Provides and Who Uses It

Docmost is an open-source collaborative wiki and documentation platform. The README positions it as an open-source alternative to Confluence and Notion, covering the use case of teams that need a shared knowledge base with real-time co-editing, organized into spaces with permission controls.

The feature set includes real-time collaboration, diagram embedding (Draw.io, Excalidraw, and Mermaid), spaces, permissions management, groups, inline comments, page history, full-text search, file attachments, embeds (Airtable, Loom, Miro, and others), and translations in over 10 languages. The application runs as a self-hosted service and is also available as a cloud offering at docmost.com.

Deploying Docmost with Docker Compose

The standard deployment path is Docker Compose. The `docker-compose.yml` in the repository defines three services: the Docmost application, a PostgreSQL database, and a Redis instance.

yaml
services:
  docmost:
    image: docmost/docmost:latest
    depends_on:
      - db
      - redis
    environment:
      APP_URL: 'http://localhost:3000'
      APP_SECRET: 'REPLACE_WITH_LONG_SECRET'
      DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost'
      REDIS_URL: 'redis://redis:6379'
    ports:
      - "3000:3000"
    restart: unless-stopped
    volumes:
      - docmost:/app/data/storage

The PostgreSQL service uses the `postgres:18` image, and Redis uses `redis:8` with append-only persistence enabled. Three named volumes persist data across container restarts: `docmost` for file storage, `db_data` for the database, and `redis_data` for the Redis AOF log.

The `APP_SECRET` must be at least 32 characters. The `.env.example` file shows how to generate one: `openssl rand -hex 32`. The `APP_URL` must be set to the public-facing URL for links in emails and embeds to work correctly.

Environment Configuration and Storage Backends

The `.env.example` file documents all configuration options. The `STORAGE_DRIVER` variable accepts `local`, `s3`, or `azure`. For S3-compatible storage, the variables `AWS_S3_ACCESS_KEY_ID`, `AWS_S3_SECRET_ACCESS_KEY`, `AWS_S3_REGION`, `AWS_S3_BUCKET`, `AWS_S3_ENDPOINT`, and `AWS_S3_FORCE_PATH_STYLE` configure the connection. Setting `AWS_S3_ENDPOINT` and `AWS_S3_FORCE_PATH_STYLE=true` enables use with S3-compatible services like MinIO.

For Azure Blob Storage, the variables are `AZURE_STORAGE_ACCOUNT_NAME`, `AZURE_STORAGE_ACCOUNT_KEY`, and `AZURE_STORAGE_CONTAINER`. The default file upload size is 50MB, configurable via `FILE_UPLOAD_SIZE_LIMIT`.

Email delivery uses either SMTP or Postmark, selected via `MAIL_DRIVER`. SMTP configuration requires `SMTP_HOST`, `SMTP_PORT`, `SMTP_USERNAME`, and `SMTP_PASSWORD`. The `JWT_TOKEN_EXPIRES_IN` variable controls session token lifetime, defaulting to 30 days. Server-side PDF export requires a running Gotenberg instance, configured via `GOTENBERG_URL`.

Real-Time Collaboration Architecture

Docmost's real-time collaboration is built on Hocuspocus, a server-side Y.js provider. The `package.json` includes `@hocuspocus/server`, `@hocuspocus/common`, `@hocuspocus/provider`, and `@hocuspocus/transformer`, all at version 4.5.0. The rich text editor is Tiptap 3.x with collaboration extensions: `@tiptap/extension-collaboration` and `@tiptap/extension-collaboration-caret`.

The server runs a separate collaboration process alongside the main NestJS application. The `package.json` scripts show this split: `start` runs the main server, while `collab` and `collab:dev` run the collaboration server independently. Redis is required for the collaboration layer: it coordinates document state across multiple server instances, which is why the Docker Compose file makes Redis a mandatory dependency.

The `pnpm-workspace.yaml` organizes the codebase as a monorepo with two applications (`apps/server` and `apps/client`) and shared packages under `packages/`.

Diagram and Embed Support

Docmost supports three types of embedded diagrams: Draw.io (also known as diagrams.net), Excalidraw, and Mermaid. Draw.io diagrams render inline in pages. By default, the official Draw.io server is used; a self-hosted Draw.io instance can be configured via the `DRAWIO_URL` environment variable, allowing organizations that require air-gapped or private infrastructure to keep diagram data internal.

Mermaid diagrams are rendered from code blocks. Excalidraw is the whiteboard-style drawing tool for freehand sketches and diagrams that do not fit the structured Mermaid syntax. The embed system also supports Airtable, Loom, Miro, and other services listed in the README, through standard iframe embedding with allow-list controls.

Page history allows reverting to previous versions of a page. The file attachment system stores files according to the configured storage driver (local, S3, or Azure).

License Boundaries: AGPL Core and Enterprise Edition

Docmost's core is licensed under AGPL-3.0. The README explicitly states which directories are covered by the enterprise license: `apps/server/src/ee`, `apps/client/src/ee`, and `packages/ee`. All other code is AGPL-3.0.

AGPL-3.0 requires that if you run a modified version of Docmost over a network and users interact with it, you must make the modified source available under the same license. Teams that intend to modify Docmost and deploy it internally without releasing modifications should consult the license text before proceeding. The enterprise edition features in the `ee` directories are available under a separate commercial license; the README does not enumerate which specific features are enterprise-only versus core.

An alternative to Docmost in the self-hosted wiki category is Outline (getoutline.com), which is also open-source and offers a similar feature set. Outline uses a Business Source License for its self-hosted version, which restricts commercial use above a certain scale. Docmost's AGPL-3.0 core places no scale limits on self-hosted use.

Building from Source and the Dockerfile

The Dockerfile uses a multi-stage build. The builder stage installs pnpm 11.25.0, copies the source, runs `pnpm install --frozen-lockfile`, and builds both `apps/server` and `apps/client`. The installer stage copies only the compiled output: `apps/server/dist`, `apps/client/dist`, and the package files for shared libraries. The final image runs as the `node` user and exposes port 3000.

For local development, the `dev` script in `package.json` runs the frontend and backend concurrently:

bash
pnpm dev

This runs the Next.js client dev server and the NestJS server in parallel, with output labeled by process. The development documentation is referenced at `https://docmost.com/docs/self-hosting/development`. Translation is managed through Crowdin, with over 10 languages supported according to the README.

Editorial conclusion

Docmost is the right choice for teams that want a self-hosted collaborative wiki with real-time editing, Draw.io and Mermaid diagram support, and structured spaces without paying Confluence or Notion pricing. The AGPL-3.0 core license means any modification deployed over a network must be released under the same license; enterprise features in the `apps/server/src/ee` and `apps/client/src/ee` directories are covered by a separate enterprise license. Teams on a tight schedule should verify that the features they need are in the open-source core before assuming enterprise features are included. The current release is v0.96.0, released on 2026-09-08, with the last push on 2026-09-27.

Frequently asked questions

What is Docmost used for?

Docmost is used for building a self-hosted team wiki and documentation site with real-time collaborative editing, diagram support, spaces, and permission management. It is an alternative to Confluence and Notion for teams that want to host their own knowledge base.

How do I install Docmost?

The standard installation is via Docker Compose. Clone or download the `docker-compose.yml` from the repository, set the `APP_SECRET`, `DATABASE_URL`, and `APP_URL` environment variables, then run `docker compose up -d`. Docmost listens on port 3000.

Is Docmost free?

The Docmost core is free and open-source under AGPL-3.0. Enterprise features in the `apps/server/src/ee` and `apps/client/src/ee` directories are covered by a separate enterprise license. The hosted cloud version at docmost.com has its own pricing.

Is Docmost open source?

Yes. The Docmost core is licensed under AGPL-3.0, and the source code is available at github.com/docmost/docmost. Enterprise-edition directories within the repository are covered by a separate enterprise license rather than AGPL-3.0.

Official sources

  1. docmost/docmost on GitHub
  2. License: AGPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/docmost-docmost.svg)](https://hysenlabs.com/projects/docmost-docmost)