--- 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: openai/gpt-oss-120b 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: ef181130-6e65-470d-be87-1c06a2de345c created_at: '2026-09-02T18:36:53.608654+00:00' updated_at: '2026-09-02T18:36:53.609302+00:00' tags: - deployment - development - NextOffice --- # 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:/healthcheck` 与 Nextcloud `http://127.0.0.1:/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"]