Total Pageviews

Sunday, 12 July 2026

基于Django(后端程序)和 React(前端程序)的协作文本编辑程序docs

 

Docs is an open-source text editor: web-native, made for real-time collaboration, cleanly structured documents and sub-documents with full ownership of your data. Built to scale with Django(后端程序) and React(前端程序)

 

La Suite Docs: Collaborative Text Editing

Docs, where your notes can become knowledge through live collaboration.

Docs is an open-source collaborative editor that helps teams write, organize, and share knowledge together - in real time.

What is Docs?

Docs is an open-source alternative to tools like Notion or Google Docs, focused on:

  • Real-time collaboration
  • Clean, structured documents
  • Knowledge organization
  • Data ownership & self-hosting

Built for public organizations, companies, and open communities.

Why use Docs?

Writing

  • Rich-text & Markdown editing
  • Slash commands & block system
  • Beautiful formatting
  • Offline editing
  • Optional AI writing helpers (rewrite, summarize, translate, fix typos)

Collaboration

  • Live cursors & presence
  • Comments & sharing
  • Granular access control

Knowledge management

  • Subpages & hierarchy
  • Searchable content

Export/Import & interoperability

  • Import to .docx and .md
  • Export to .docx, .odt, .pdf

Try Docs

Experience Docs instantly - no installation required.

Self-hosting

Docs supports Kubernetes, Docker Compose, and community-provided methods such as Nix and YunoHost.

Get started with self-hosting: Installation guide

Warning

Some advanced features (for example: Export as PDF) rely on XL packages from Blocknote. These packages are licensed under GPL and are not MIT-compatible

You can run Docs without these packages by building with:

PUBLISH_AS_MIT=true

This builds an image of Docs without non-MIT features.

More details can be found in environment variables

Local Development (for contributors)

Run Docs locally for development and testing.

Warning

This setup is intended for development and testing only. It uses Minio as an S3-compatible storage backend, but any S3-compatible service can be used.

Prerequisites

  • Docker
  • Docker Compose
  • GNU Make

Verify installation:

docker -v
docker compose version

If you encounter permission errors, you may need to use sudo, or add your user to the docker group.

Bootstrap the project

The easiest way to start is using GNU Make:

make bootstrap FLUSH_ARGS='--no-input'

This builds the app-dev and frontend-dev containers, installs dependencies, runs database migrations, and compiles translations.

It is recommended to run this command after pulling new code.

Start services:

make run

Open https://localhost:3000

Default credentials (development only):

username: impress
password: impress

Frontend development mode

For frontend work, running outside Docker is often more convenient:

make frontend-development-install
make run-frontend-development

Backend only

Starting all services except the frontend container:

make run-backend

Tests & Linting

make frontend-test
make frontend-lint

Backend tests can be run without docker. This is useful to configure PyCharm or VSCode to do it. Removing docker for testing requires to overwrite some URL and port values that are different in and out of Docker. env.d/development/common contains all variables, some of them having to be overwritten by those in env.d/development/common.test.

Demo content

Create a basic demo site:

make demo

More Make targets

To check all available Make rules:

make help

Django admin

Create a superuser:

make superuser

Admin UI: http://localhost:8071/admin

from  https://github.com/suitenumerique/docs

-----

 Docs(https://github.com/suitenumerique/docs)这个项目我一直都在关注,奈何之前的部署方式只支持k8s,如果只是为了部署一个笔记软件去搭一个k8s的话,那真的是有点拿大炮打蚊子那味了= =最近发现这个项目支持用docker compose部署了,遂记录下部署过程与遇到的一些问题。

不得不说国家队还是牛B!这个笔记软件第一次用就感觉挺顺手的,前端UI简洁大气,自带AI功能,可以帮你美化、改写、总结、修正错别字、翻译等。自托管的实例所有功能都能使用,与官方实例1:1还原,而不是像某些“开源笔记”那样吃相难看。

缺点也还是有的,没有十全十美的东西= =目前虽然支持docker compose部署了,但部署起来还是比较麻烦。另外我在使用中发现一些小bug,例如:上传的文件名不能包含中文,有中文就会导致上传失败。导出的PDF文件显示中文是乱码,且不支持代码块等。如果你不介意这些问题的话,可以尝试一下。

本文根据Docs官方的文档(https://github.com/suitenumerique/docs/blob/main/docs/installation/compose.md)编写,进行了一些修改:

1.将Keycloak更换为VoidAuth,因为Keycloak部署和配置都过于复杂。

2.将MinIO更换为Garage,因为开源的MinIO已经名存实亡了。

3.不使用官方的NGINX反向代理配置,因为我的服务器已经运行Ferron Web Server了。


No comments:

Post a Comment