From b466db7662008e10a21104666fb5a960130b08da Mon Sep 17 00:00:00 2001 From: pooneyy <85266337+pooneyy@users.noreply.github.com> Date: Wed, 21 Jan 2026 03:07:43 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(docmost):=20add=20comprehensiv?= =?UTF-8?q?e=20configuration=20and=20update=20app=20structure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add new config.env file with detailed environment variables for app, storage, email, and telemetry settings - expand data.yml form fields with multi-language support, database, and redis service configurations - refactor docker-compose.yml to use 1panel network, environment variables, and config.env file - add init.sh script for generating APP_SECRET - update README files with detailed configuration instructions and feature descriptions - enhance data.yml metadata with multi-language descriptions and architecture support - update application logo --- apps/docmost/0.24.1/config.env | 59 +++++++++++ apps/docmost/0.24.1/data.yml | 134 ++++++++++++++++++++++--- apps/docmost/0.24.1/docker-compose.yml | 50 ++++----- apps/docmost/0.24.1/scripts/init.sh | 10 ++ apps/docmost/README.md | 56 +++++------ apps/docmost/README_en.md | 57 +++++------ apps/docmost/data.yml | 26 +++-- apps/docmost/logo.png | Bin 80710 -> 6005 bytes 8 files changed, 277 insertions(+), 115 deletions(-) create mode 100644 apps/docmost/0.24.1/config.env create mode 100644 apps/docmost/0.24.1/scripts/init.sh diff --git a/apps/docmost/0.24.1/config.env b/apps/docmost/0.24.1/config.env new file mode 100644 index 000000000..d0a991b5b --- /dev/null +++ b/apps/docmost/0.24.1/config.env @@ -0,0 +1,59 @@ +################### 应用程序配置 ################### + +# 应用程序的基本 URL。它是可选的,但对于在电子邮件中显示正确的链接很有用。 +# APP_URL=https://docmost.example.com + +# JWT 的过期时间。默认为 30 天。 +JWT_TOKEN_EXPIRES_IN=30d + +##################### 存储配置 ##################### + +# 存储驱动。默认为 local。 local|s3 +# STORAGE_DRIVER=local + +# AWS S3 访问密钥 ID +# AWS_S3_ACCESS_KEY_ID= + +# AWS S3 秘密访问密钥 +# AWS_S3_SECRET_ACCESS_KEY= + +# AWS S3 存储桶所在区域 +# AWS_S3_REGION= + +# AWS S3 存储桶名称 +# AWS_S3_BUCKET= + +# AWS S3 服务端点 URL(可选)。如果使用第三方 S3 兼容存储,请设置此值。 +# AWS_S3_ENDPOINT= + +# AWS S3 强制请求使用路径式寻址(可选) true|false +# AWS_S3_FORCE_PATH_STYLE= + +################## 存储文件上传限制 ################## + +# 每次上传的最大文件大小。默认为 50MB +# FILE_UPLOAD_SIZE_LIMIT=50mb + +# 最大文件导入大小限制。默认为 200MB。 +# FILE_IMPORT_SIZE_LIMIT=200mb + +##################### 邮件配置 ##################### +# 添加新用户需要配置 SMTP + +# MAIL_DRIVER=smtp +# SMTP_HOST= +# SMTP_PORT= +# SMTP_USERNAME= +# SMTP_PASSWORD= +# SMTP_SECURE= +# MAIL_FROM_ADDRESS= +# MAIL_FROM_NAME= + +############ DRAW.IO(Diagrams.net)配置 ############ + +DRAWIO_URL=https://embed.diagrams.net + +###################### 遥测 ####################### + +# 是否禁用遥测 true|false +DISABLE_TELEMETRY=true diff --git a/apps/docmost/0.24.1/data.yml b/apps/docmost/0.24.1/data.yml index 92b959d47..669e56b4e 100644 --- a/apps/docmost/0.24.1/data.yml +++ b/apps/docmost/0.24.1/data.yml @@ -1,25 +1,135 @@ additionalProperties: formFields: - - default: 30049 - edit: true + - default: 8080 envKey: PANEL_APP_PORT_HTTP - labelEn: Port - labelZh: 端口 + labelZh: HTTP 端口 + labelEn: HTTP Port label: - en: Port - zh: 端口 + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + en: HTTP Port + ja: HTTP ポート + ko: HTTP 포트 + ms: Port HTTP + pt-br: Porta HTTP + ru: HTTP Порт + tr: HTTP Portu + description: + zh: "设置应用的 HTTP 访问端口,有效范围: 1-65535" + zh-Hant: "設定應用程式的 HTTP 存取連接埠,有效範圍: 1-65535" + en: "Set the HTTP access port for the application, valid range: 1-65535" + ja: "アプリケーションのHTTPアクセスポートを設定します。有効範囲: 1-65535" + ko: "애플리케이션의 HTTP 접근 포트를 설정합니다. 유효 범위: 1-65535" + ms: "Tetapkan port akses HTTP untuk aplikasi, julat sah: 1-65535" + pt-br: "Defina a porta de acesso HTTP para o aplicativo, intervalo válido: 1-65535" + ru: "Установите порт доступа HTTP для приложения, допустимый диапазон: 1-65535" + tr: "Uygulama için HTTP erişim portunu ayarlayın, geçerli aralık: 1-65535" required: true - rule: paramPort type: number - - default: "" edit: true + rule: paramPort + - default: "" + envKey: PANEL_DB_HOST + labelZh: 数据库 + labelEn: Database + label: + en: Database + ja: データベース + ko: 데이터베이스 + ms: Pangkalan Data + pt-br: Banco de Dados + ru: База данных + tr: Veritabanı + zh: 数据库 + zh-Hant: 資料庫 + required: true + type: service + key: postgresql + - default: docmost_db_user + envKey: PANEL_DB_USER + labelZh: 数据库用户名 + labelEn: Database Username + label: + en: Database Username + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ms: Nama Pengguna Pangkalan Data + pt-br: Nome de Usuário do Banco de Dados + ru: Имя пользователя базы данных + tr: Veritabanı Kullanıcı Adı + zh: 数据库用户名 + zh-Hant: 資料庫使用者名稱 + required: true + type: text + rule: paramCommon + random: true + - default: docmost_db_pass envKey: PANEL_DB_USER_PASSWORD + labelZh: 数据库密码 labelEn: Database Password - labelZh: 数据库用户密码 label: en: Database Password - zh: 数据库用户密码 - random: true + ja: データベースパスワード + ko: 데이터베이스 비밀번호 + ms: Kata Laluan Pangkalan Data + pt-br: Senha do Banco de Dados + ru: Пароль базы данных + tr: Veritabanı Parolası + zh: 数据库密码 + zh-Hant: 資料庫密碼 required: true - rule: paramComplexity type: password + rule: paramComplexity + random: true + - default: docmost_db_name + envKey: PANEL_DB_NAME + labelZh: 数据库名 + labelEn: Database Name + label: + en: Database Name + ja: データベース名 + ko: 데이터베이스 이름 + ms: Nama Pangkalan Data + pt-br: Nome do Banco de Dados + ru: Имя базы данных + tr: Veritabanı Adı + zh: 数据库名 + zh-Hant: 資料庫名稱 + required: true + type: text + rule: paramCommon + random: true + - default: "" + envKey: PANEL_REDIS_HOST + labelZh: Redis 服务 + labelEn: Redis Service + label: + en: Redis Service + ja: Redisサービス + ko: Redis 서비스 + ms: Perkhidmatan Redis + pt-br: Serviço Redis + ru: Сервис Redis + tr: Redis Hizmeti + zh: Redis 服务 + zh-Hant: Redis 服務 + required: true + type: service + key: redis + - default: "" + envKey: PANEL_REDIS_ROOT_PASSWORD + labelZh: Redis 服务密码 + labelEn: Redis Service Password + label: + en: Redis Service Password + ja: Redis サービスパスワード + ko: Redis 서비스 비밀번호 + ms: Kata Laluan Perkhidmatan Redis + pt-br: Senha do Serviço Redis + ru: Пароль службы Redis + tr: Redis Hizmet Parolası + zh: Redis 服务密码 + zh-Hant: Redis 服務密碼 + required: true + type: password + rule: paramComplexity diff --git a/apps/docmost/0.24.1/docker-compose.yml b/apps/docmost/0.24.1/docker-compose.yml index 600c12afe..8a84ed2cf 100644 --- a/apps/docmost/0.24.1/docker-compose.yml +++ b/apps/docmost/0.24.1/docker-compose.yml @@ -1,38 +1,22 @@ services: docmost: - container_name: ${CONTAINER_NAME} - restart: always - ports: - - "${PANEL_APP_PORT_HTTP}:3000" - volumes: - - docmost:/app/data/storage - environment: - APP_URL: "http://localhost:3000" - APP_SECRET: "52f235dee223c92a83a934ada13b83075c9855fe966b3cbf9dd86810e2b742ee" - DATABASE_URL: "postgresql://docmost:${PANEL_DB_USER_PASSWORD}@db:5432/docmost?schema=public" - REDIS_URL: "redis://redis:6379" image: docmost/docmost:0.24.1 - labels: - createdBy: "Apps" - depends_on: - - db - - redis - db: - image: postgres:16-alpine environment: - POSTGRES_DB: docmost - POSTGRES_USER: docmost - POSTGRES_PASSWORD: ${PANEL_DB_USER_PASSWORD} - restart: always + APP_URL: http://localhost:3000 + APP_SECRET: ${APP_SECRET} + DATABASE_URL: postgres://${PANEL_DB_USER}:${PANEL_DB_USER_PASSWORD}@${PANEL_DB_HOST}:${PANEL_DB_PORT}/${PANEL_DB_NAME}?schema=public + REDIS_URL: redis://default:${PANEL_REDIS_ROOT_PASSWORD}@${PANEL_REDIS_HOST}:6379 + env_file: + - config.env + ports: + - ${PANEL_APP_PORT_HTTP}:3000 volumes: - - db_data:/var/lib/postgresql/data - - redis: - image: redis:7.2-alpine - restart: always - volumes: - - redis_data:/data -volumes: - docmost: - db_data: - redis_data: \ No newline at end of file + - ./data:/app/data/storage + container_name: ${CONTAINER_NAME} + networks: + - 1panel-network + labels: + createdBy: Apps +networks: + 1panel-network: + external: true diff --git a/apps/docmost/0.24.1/scripts/init.sh b/apps/docmost/0.24.1/scripts/init.sh new file mode 100644 index 000000000..29af2068c --- /dev/null +++ b/apps/docmost/0.24.1/scripts/init.sh @@ -0,0 +1,10 @@ +NEW_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32) +if grep -q "APP_SECRET=" .env; then + if [[ "$(uname)" == "Darwin" ]]; then + sed -i '' "s/APP_SECRET=.*/APP_SECRET=$NEW_SECRET/" .env + else + sed -i "s/APP_SECRET=.*/APP_SECRET=$NEW_SECRET/" .env + fi +else + echo "APP_SECRET=$NEW_SECRET" >> .env +fi \ No newline at end of file diff --git a/apps/docmost/README.md b/apps/docmost/README.md index 20bb9fbb3..626dafe9f 100644 --- a/apps/docmost/README.md +++ b/apps/docmost/README.md @@ -1,37 +1,31 @@ -
-

Docmost

-

- 开源协作wiki、文档笔记软件. -
- Website | - Documentation -

-
-
+## 配置和使用说明 -> [!提示] -> Docmost 目前处于**测试阶段**。我们非常重视您的反馈,我们正在努力推出稳定版本。. +安装完成后,你可以通过 `应用安装目录/config.env` 文件配置其它环境变量,请参考[文档](https://docmost.com/docs/self-hosting/environment-variables)了解更多信息。`config.env` 中环境变量的优先级低于安装时填写的配置。 -## 开始使用 -要开始使用 Docmost,请参阅的[documentation](https://docmost.com/docs). +如果你没有多用户需求,可以忽略 `config.env`,多用户协作需求则须完成 `config.env` 中的相关配置后重启应用。 -## 功能特色 -- 实时协作 -- 图表(Draw.io、Excalidraw 和 Mermaid) -- 空间 -- 权限管理 -- 群组 -- 评论 -- 页面历史记录 -- 搜索 -- 文件附件 +## 产品介绍 -#### 截图 -

-home -editor -

+Docmost,一款开源协作 wiki 与文档软件。专为无缝实时协作而设计,是 Notion 和 Confluence 等产品的开源替代方案。 -### 贡献 -请查看 [开发文档](https://docmost.com/docs/self-hosting/development) +## 主要功能 +- **协作实时编辑器**:实时协作编辑页面。 +- **图表功能**:内置支持 Draw.io、Excalidraw 与 Mermaid 图表工具。 +- **空间管理**:按团队、项目或部门组织页面,实现更高效的协作。 +- **智能搜索(ASK AI)**:直接基于页面内容提问并获取答案。 +- **公开分享**:您可以将页面公开分享,允许任何拥有链接的人查看。 +- **权限管理**:通过直观易懂的权限设置,轻松控制内容的访问权限。 +- **用户组**:通过用户组统一授予权限,操作简便。 +- **评论功能**:可在页面中添加评论,便于沟通和反馈。 +- **页面历史**:通过完整的版本历史来追踪修改记录。 +- **嵌套导航**:您可以通过侧边栏嵌套和重新排序页面。 +- **搜索功能**:凭借强大的搜索能力,快速找到所需信息。 +- **文件附件**:将文件附加到页面,便于参考和共享。 +- **在附件中搜索**:支持在 PDF 和 DOCX 文件附件中搜索内容(企业版功能) +- **导入/导出**:您可以便捷地以 Markdown 和 HTML 格式导入与导出页面。 + - 压缩包导入 + - Notion 导入 + - Confluence 导入功能(企业版) +- **阅读/编辑偏好模式**:向意外编辑说再见。 +- **多语言支持**:Docmost 提供超过 10 种语言版本。🇺🇸 🇨🇳 🇫🇷 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇧🇷 🇷🇺 🇪🇸🇺🇦 \ No newline at end of file diff --git a/apps/docmost/README_en.md b/apps/docmost/README_en.md index 3ab5eba0c..d051dfc26 100644 --- a/apps/docmost/README_en.md +++ b/apps/docmost/README_en.md @@ -1,34 +1,31 @@ -
-

Docmost

-

- Open-source collaborative wiki and documentation software. -
- Website | - Documentation -

-
-> [!NOTE] -> Docmost is currently in **beta**. We value your feedback as we progress towards a stable release. +## Configuration and Usage Instructions -## Getting started -To get started with Docmost, please refer to our [documentation](https://docmost.com/docs). +After installation, you can configure additional environment variables via the `config.env` file located in the application installation directory. For more information, please refer to the [documentation](https://docmost.com/docs/self-hosting/environment-variables). Environment variables in `config.env` have lower priority than the configuration entered during installation. + +If you don’t have multi-user requirements, you can ignore `config.env`. For multi-user collaboration, you must complete the relevant configuration in `config.env` and restart the application. + +## Introduction + +Docmost, an open-source collaborative wiki and documentation software. Designed for seamless real-time collaboration, it's an open-source alternative to the likes of Notion and Confluence. ## Features -- Real-time collaboration -- Diagrams (Draw.io, Excalidraw and Mermaid) -- Spaces -- Permissions management -- Groups -- Comments -- Page history -- Search -- File attachment -#### Screenshots -

-home -editor -

- -### Contributing -See the [development documentation](https://docmost.com/docs/self-hosting/development) +- **Collaborative Real-time Editor**: Work together on pages in real-time. +- **Diagrams**: Built-in support for Draw.io, Excalidraw and Mermaid diagramming tools. +- **Spaces**: Organize your pages by team, projects, or departments for better collaboration. +- **AI Search (ASK AI)**: Ask questions and get answers directly from your page content. +- **Public sharing**: You can publicly share your pages, allowing anyone with the link to view them. +- **Permissions Management**: Easily control access to contents with easy to understand permissions. +- **Groups**: Easily grant unified permissions to users via groups. +- **Comments**: Add comments to pages for better communication and feedback. +- **Page History**: Track changes with a comprehensive version history. +- **Nested Navigation**: You can nest and reorder pages via the sidebar. +- **Search**: Quickly find the information you need with powerful search capabilities. +- **File Attachment**: Attach files to your pages for easy reference and sharing. +- **Search in attachments:** Search for content in PDF and DOCX file attachments (Enterprise Edition) +- **Import / Export**: You can easily import and export pages in Markdown and HTML formats. + - Zip import + - Notion import + - Confluence import (Enterprise Edition) +- **Read/Edit preference mode:** Say goodbye to accidental edits. +- **Translations**: Docmost is available in over 10+ languages. 🇺🇸 🇨🇳 🇫🇷 🇩🇪 🇮🇹 🇯🇵 🇰🇷 🇧🇷 🇷🇺 🇪🇸🇺🇦 \ No newline at end of file diff --git a/apps/docmost/data.yml b/apps/docmost/data.yml index 0747cf861..574a7ff34 100644 --- a/apps/docmost/data.yml +++ b/apps/docmost/data.yml @@ -1,22 +1,30 @@ name: Docmost tags: - 建站 -title: 开源协作wiki和文档软件 -description: 开源协作 wiki 和文档软件 +title: 开源协作 wiki 与文档软件 +description: 开源协作 wiki 与文档软件 additionalProperties: key: docmost name: Docmost tags: - Website - shortDescZh: 开源协作wiki和文档软件 - shortDescEn: Open-source collaborative wiki and documentation software. + shortDescZh: 开源协作 wiki 与文档软件 + shortDescEn: Open-source collaborative wiki and documentation software description: - zh: Docmost是Notion和Confluence等开源软件的替代品。 - en: Docmost is an open-source alternative to the likes of Notion and Confluence. + en: Open-source collaborative wiki and documentation software + zh: 开源协作 wiki 与文档软件 + zh-Hant: 開源協作 wiki 與文件軟體 + ja: オープンソースの共同編集可能なウィキおよびドキュメントソフトウェア + ms: Perisian wiki dan dokumentasi kolaboratif sumber terbuka + pt-br: Software de wiki e documentação colaborativo de código aberto + ru: Программное обеспечение для вики и документации с открытым исходным кодом + ko: 오픈 소스 협업 위키 및 문서화 소프트웨어 type: website crossVersionUpdate: true limit: 0 - recommend: 0 - website: https://docmost.com/ + website: https://docmost.com github: https://github.com/docmost/docmost - document: https://docmost.com/docs/ \ No newline at end of file + document: https://docmost.com/docs + architectures: + - amd64 + - arm64 diff --git a/apps/docmost/logo.png b/apps/docmost/logo.png index c0cf50b6dd578f2b1f1fd4ad178375527b90efc1..66eb357652232abdef0b54f4217b8fc3bb6c4a56 100644 GIT binary patch literal 6005 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 Vd|NCs+XFlSX{qVMKfr7v{ttI&HVps( literal 80710 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