180 lines
8.0 KiB
Markdown
180 lines
8.0 KiB
Markdown
---
|
||
title: NextOffice 部署指南
|
||
type: curated
|
||
permalink: main/projects/d1932ed6-07d3-4463-a224-8534ffd69a07/curated/development/next-office-部署指南
|
||
stable_id: a4ee5dcf-b0fb-4db7-a8db-ff7faf5b775b
|
||
scope: project
|
||
project_id: d1932ed6-07d3-4463-a224-8534ffd69a07
|
||
workspace_type: development
|
||
usage_profile_id: null
|
||
preference_context: development
|
||
document_type: deployment
|
||
revision: 1
|
||
source_memory_ids: []
|
||
source_checkpoint_ids: []
|
||
source_file_ids: []
|
||
source_git_commit: 346195c0699cb8a1dbf5a9576daad945003e5d10
|
||
source_git_commits:
|
||
- 346195c0699cb8a1dbf5a9576daad945003e5d10
|
||
source_agent_sync_ids: []
|
||
model_connection: Sub2API
|
||
model_name: git-restore
|
||
source_count: 25
|
||
source_revisions: {}
|
||
source_dispositions:
|
||
processed: 25
|
||
unchanged: 0
|
||
unsupported: 0
|
||
skipped: 0
|
||
cited_source_ids:
|
||
- curated_baseline:5bbc6eda-83e0-442d-ab3e-196559cad551
|
||
- curated_baseline:aa86e425-a012-44b5-a805-708f2e077293
|
||
- curated_baseline:847e3e43-85e8-431d-b0f7-7b16211c0da1
|
||
- git:deploy.py
|
||
- git:README.md
|
||
- git:docker-compose.yml
|
||
- git:.env.example
|
||
- git:.gitignore
|
||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||
- global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||
job_cited_source_ids:
|
||
- curated_baseline:5bbc6eda-83e0-442d-ab3e-196559cad551
|
||
- curated_baseline:aa86e425-a012-44b5-a805-708f2e077293
|
||
- curated_baseline:847e3e43-85e8-431d-b0f7-7b16211c0da1
|
||
- git:deploy.py
|
||
- git:README.md
|
||
- git:docker-compose.yml
|
||
- git:.env.example
|
||
- git:.gitignore
|
||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||
- global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5
|
||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||
- global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e
|
||
- global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e
|
||
- global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56
|
||
- global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843
|
||
conflicts: []
|
||
supersedes: []
|
||
preferences:
|
||
- statement: 日常交流使用中文(包括文档、代码注释等)
|
||
level: scenario
|
||
workspace_types:
|
||
- development
|
||
workspace_ids: []
|
||
source_ids:
|
||
- global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7
|
||
counterexample_source_ids: []
|
||
occurrence_count: 1
|
||
explicit: true
|
||
confidence: 1.0
|
||
status: current
|
||
- statement: 开发记忆统一使用 MemRelay 持久管理,禁止本地副本除非用户明确要求
|
||
level: scenario
|
||
workspace_types:
|
||
- development
|
||
workspace_ids: []
|
||
source_ids:
|
||
- global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6
|
||
counterexample_source_ids: []
|
||
occurrence_count: 1
|
||
explicit: true
|
||
confidence: 1.0
|
||
status: current
|
||
- statement: AI 驱动的记忆同步与 Git 集成默认关闭
|
||
level: scenario
|
||
workspace_types:
|
||
- development
|
||
workspace_ids: []
|
||
source_ids:
|
||
- global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d
|
||
counterexample_source_ids: []
|
||
occurrence_count: 1
|
||
explicit: true
|
||
confidence: 1.0
|
||
status: current
|
||
- statement: 在任何登录、SSH、数据库或 API 调用前先查询 Vaultwarden,唯一匹配则直接使用
|
||
level: scenario
|
||
workspace_types:
|
||
- development
|
||
workspace_ids: []
|
||
source_ids:
|
||
- global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316
|
||
counterexample_source_ids: []
|
||
occurrence_count: 1
|
||
explicit: true
|
||
confidence: 1.0
|
||
status: current
|
||
source_cursor: 292
|
||
source_hash: deb30a6b83a03f25e5a91c6b2d68024ae3de216638efb5597267ac9555bb804f
|
||
prompt_version: 2026-08-12.3
|
||
schema_version: '3'
|
||
curation_job_id: null
|
||
created_at: '2026-09-02T18:36:53.608654+00:00'
|
||
updated_at: '2026-09-23T15:05:24.817856+00:00'
|
||
tags:
|
||
- deployment
|
||
- development
|
||
- NextOffice
|
||
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
|
||
---
|
||
|
||
# NextOffice 部署指南
|
||
|
||
## 项目概览
|
||
- 项目名称:NextOffice(已在 2026‑09‑01 创建)
|
||
- 工作空间类型:development
|
||
- 交付目录:`E:\\Data\\Users\\Administrator\\Desktop\\NextOffice`
|
||
- 采用离线部署包,所有必需镜像已在 `images/nextoffice-images-amd64.tar` 中提供,若缺失将自动在线拉取。
|
||
|
||
## 关键前置条件
|
||
- 目标服务器必须运行 **Windows + WSL2 + Docker Desktop**(全局指导)`global_guidance_document:6973450e-6ecc-48e3-8cdd-4d7d7707d843`
|
||
- 已安装 **Python 3**(推荐 3.10+)以及 **Docker Engine** 与 **Docker Compose plugin**。
|
||
- 依据全局开发实施原则,保持实现最简(KISS & YAGNI)`global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5`。
|
||
- 所有凭证在使用前必须先查询 Vaultwarden,且新生成的密码等立即写入密码库 `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316`。
|
||
|
||
## 部署步骤概述(依据 `git:deploy.py`)
|
||
1. **检查前置工具**:`docker version`、`docker compose version`(脚本 `check_prerequisites`)。
|
||
2. **创建或加载配置**:如果 `.env` 已存在则直接使用,否则交互式提示服务器 IP、端口、管理员账号/密码并写入 `ENV_FILE`(`create_or_load_config`)。
|
||
3. **准备镜像**:
|
||
- 若离线镜像文件存在,使用 `docker load -i` 导入。
|
||
- 否则拉取基础镜像 `nextcloud:34.0.3-apache` 并拉取其余所需镜像 `onlyoffice/documentserver:9.4.0`、`postgres:17.11-alpine`、`redis:7.4.11-alpine`,随后构建定制 Nextcloud 镜像(`build_nextcloud_image`)。
|
||
4. **启动服务**:`docker compose up -d --remove-orphans`。
|
||
5. **等待服务就绪**:脚本轮询 ONLYOFFICE `http://127.0.0.1:<ONLYOFFICE_PORT>/healthcheck` 与 Nextcloud `http://127.0.0.1:<NEXTCLOUD_PORT>/status.php`,超时 600 秒。
|
||
6. **配置 Nextcloud 与 ONLYOFFICE**:启用 `text`、`viewer`、`onlyoffice` 应用;设置系统语言为 `zh_CN`、关闭默认文件模板目录、清理首次部署示例文件、配置 ONLYOFFICE 连接器以及共享策略。
|
||
7. **完成部署**:输出门户地址、管理员账号以及 ONLYOFFICE 健康检查链接。
|
||
|
||
## 交付内容快速回顾(`curated_baseline:5bbc6eda-...`)
|
||
- 部署脚本 `deploy.py` 已删除哈希校验相关代码。
|
||
- `manage.py backup` 已不生成 `SHA256SUMS.json`,对应文件已删除。
|
||
- 静态检查全部通过:`python -m py_compile deploy.py manage.py`、`docker compose config --quiet`、`python deploy.py --help`。
|
||
|
||
## 参考文档与规则
|
||
| 编号 | 内容 | 来源 |
|
||
|------|------|------|
|
||
| 1 | 日常交流使用中文 | `global_guidance_memory:7429c22e-50ff-458a-97c0-423c679904c7` |
|
||
| 2 | 开发记忆统一使用 MemRelay | `global_guidance_memory:1194be51-ee29-47e1-8957-ec2888007db6` |
|
||
| 3 | 开发实施原则(KISS & YAGNI) | `global_guidance_memory:bf88c265-4749-4c50-85bc-4bae25298cd5` |
|
||
| 4 | AI 与 Git 集成默认关闭 | `global_guidance_memory:3f91189b-11a1-45bb-8357-4f413dc1609d` |
|
||
| 5 | 凭证查询与写入规则 | `global_guidance_memory:105b328f-4bda-4641-90a7-7282ef156316` |
|
||
| 6 | 项目记忆与 Git 工作流 | `global_guidance_memory:5ed86f53-b53e-4534-8e51-d3a010069d5e` |
|
||
| 7 | 开发记忆文件位置与提交约定 | `global_guidance_document:d3a20d44-6001-4c88-8772-65dbfac75e6e` |
|
||
| 8 | 跨工作空间技术经验(Docker 代理等) | `global_guidance_document:8a861a5f-35c3-4f95-bd5b-6b2297888f56` |
|
||
| 9 | 项目时间线 | `curated_baseline:847e3e43-85e8-431d-b0f7-7b16211c0da1` |
|
||
|10| 任务清单 | `curated_baseline:aa86e425-a012-44b5-a805-708f2e077293` |
|
||
|
||
## 相关文件(供引用)
|
||
- `README.md`(部署说明)`git:README.md`
|
||
- `docker-compose.yml`(服务编排)`git:docker-compose.yml`
|
||
- `.env.example`(示例环境变量)`git:.env.example`
|
||
- `.gitignore`(忽略规则)`git:.gitignore`
|
||
|
||
**标签**: ["deployment", "development", "NextOffice"] |