跳到主要内容

在 Docker 中运行 ONLYOFFICE Apps

简介​

ONLYOFFICE Apps是一个文档中心,您可以在同一个位置连接用户和文档,以促进协作。

本指南将展示如何使用 Docker 在您的计算机上运行 ONLYOFFICE Apps。

备注

本指南部署的是 ONLYOFFICE Apps的开发/测试版本,不适用于生产环境。此版本仅通过普通 HTTP 提供服务,不包含身份验证/OAuth 服务,并且功能集有所精简。对于生产部署,请使用 ONLYOFFICE Apps的生产版本。

概述​

与标准的多容器部署不同,此版本在单个容器中运行所有 ONLYOFFICE Apps服务,而不是为每个服务使用单独的容器。完整的堆栈由以下容器组成:

容器作用
onlyoffice-apps所有 ONLYOFFICE Apps服务(已整合)
onlyoffice-document-serverDocument Server(编辑器)
onlyoffice-mysql-serverMySQL 数据库
onlyoffice-opensearchOpenSearch

与标准的多容器部署相比,此版本有以下区别:

  • 所有 ONLYOFFICE Apps服务都整合到单个容器中。
  • 简化的搜索。
  • 不生成缩略图。
  • 仅支持 HTTP,默认不支持 TLS/HTTPS。
  • 没有身份验证/OAuth 服务。

系统要求​

  • CPU:至少 6 核(建议 8 核)
  • RAM:至少 12 GB(建议 16 GB)
  • HDD:至少 40 GB 可用空间
  • 操作系统:内核版本为 3.10 或更高版本的 amd64 Linux 发行版
  • 其他要求:
    • 至少 6 GB 的交换空间
    • 带有 Compose 插件的 Docker Engine(docker compose 命令)

克隆仓库​

使用以下命令克隆 DocSpace-buildtools 仓库:

git clone https://github.com/ONLYOFFICE/DocSpace-buildtools.git

仓库克隆完成后,进入 Compose 目录:

cd DocSpace-buildtools/install/docker/community

运行预构建镜像​

要使用预构建镜像以分离模式启动 ONLYOFFICE Apps,请运行以下命令:

docker compose up -d

容器启动并运行后,打开浏览器,在地址栏中输入 http://localhost 或 http://your-ip-address 即可访问 ONLYOFFICE Apps。

从源代码构建镜像​

如果您想自行构建 ONLYOFFICE Apps镜像,或测试特定分支的更改,请使用此选项。

使用以下命令构建并启动容器:

docker compose up -d --build
备注

默认情况下,镜像从 master 分支构建。要从其他分支构建,请指定 GIT_BRANCH 构建参数:GIT_BRANCH=your-branch docker compose up -d --build。

构建完成且容器运行后,在浏览器中打开 http://localhost 或 http://your-ip-address 即可访问 ONLYOFFICE Apps。

使用 SSL 运行​

ONLYOFFICE Apps同时支持 Let's Encrypt 和自定义 SSL 证书。

使用 Let's Encrypt 证书​

要使用 Let's Encrypt 证书运行 ONLYOFFICE Apps,请运行以下命令,并指定您自己的域名、电子邮件和工作空间 URL:

SSL_MODE="letsencrypt" \
SSL_DOMAIN="example.com,portal.example.com,api.example.com" \
SSL_EMAIL="admin@example.com" \
APP_URL_PORTAL="https://example.com/" \
docker compose \
-f docker-compose.yml \
-f ssl.yml \
up -d

使用以下参数:

  • SSL_MODE – SSL 证书模式。
  • SSL_DOMAIN – 一个或多个以逗号分隔的域名。
  • SSL_EMAIL – 用于 Let's Encrypt 注册的电子邮件地址。
  • APP_URL_PORTAL – 您工作空间的公共 HTTPS URL。

使用自定义证书或私有 CA 证书​

如果您使用的是自签名证书或由私有证书颁发机构 (CA) 颁发的证书,ONLYOFFICE Document Server 也必须信任该证书。

取消 docker-compose.yml 文件中以下卷的注释:

services:
onlyoffice-document-server:
volumes:
- ${CERTIFICATE_PATH}:/var/www/onlyoffice/Data/certs/extra-ca-certs.pem

然后指定主机上的证书路径并运行以下命令:

SSL_MODE="custom" \
SSL_DOMAIN="example.com" \
SSL_CERT_PATH="/etc/nginx/certs/fullchain.crt" \
SSL_KEY_PATH="/etc/nginx/certs/private.key" \
CERTIFICATE_PATH="./config/nginx/certs/fullchain.crt" \
APP_URL_PORTAL="https://example.com/" \
docker compose \
-f docker-compose.yml \
-f ssl.yml \
up -d
备注

CERTIFICATE_PATH 必须指向 Docker 主机上的证书文件,而不是容器内的路径。通常只有自签名证书或由私有 CA 颁发的证书才需要此选项。由公共 CA 颁发的证书(例如 Let's Encrypt、DigiCert 或 GoDaddy)通常不需要此额外配置。

使用以下参数:

  • SSL_MODE – SSL 证书模式(custom)。
  • SSL_DOMAIN – 工作空间域名。
  • SSL_CERT_PATH – SSL 证书的路径。
  • SSL_KEY_PATH – 私钥的路径。
  • APP_URL_PORTAL – 您工作空间的公共 HTTPS URL。
备注

默认情况下,ssl.yml 配置会将本地的 ./config/nginx/certs 目录挂载到容器内的 /etc/nginx/certs。

容器启动并运行后,在浏览器中打开您的工作空间地址(例如 **https://example.com/**)即可访问 ONLYOFFICE Apps。