guide部署

# 基础设施

要在您的服务器上运行 CKBox,您需要先准备某些服务

  • 一个 SQL 数据库(支持 MySQL 和 Postgres)
  • 一个 Redis 数据库
  • 数据存储(S3、Azure Blob 存储、文件系统、MySQL 或 Postgres)

此外,您需要一个 Open Container 运行时来运行 CKBox。您可以使用以下工具:Docker、Kubernetes、Amazon Elastic Container Service 或 Azure Container Instances。

我们还建议使用负载均衡器。您可以使用您选择的任何负载均衡器,例如 NGINX、HAProxy、Amazon Elastic Load Balancing 或 Azure Load Balancer。借助它,您将能够创建 TLS 连接并运行多个协同工作的 CKBox On-Premises 实例。这将提高应用程序的安全性与性能。

# SQL 数据库

SQL 数据库存储持久数据,如类别配置、资产元数据、环境信息等。

它也可以用作您的资产数据存储,但由于 SQL 数据库的限制,您能发送的最大文件为 4GB。为此,我们建议您使用能够处理更大文件的其他存储驱动程序,例如 S3、Azure Blob 存储或文件系统。

# MySQL

MySQL 的最低要求版本为 5.7,而版本 8.0 的 MySQL 既受支持也推荐。数据库和用户至少应具有以下权限:ALTER、CREATE、DELETE、DROP、INDEX、INSERT、SELECT、TRIGGER、UPDATE、LOCK TABLES、REFERENCES

如果您计划使用 MySQL 数据库作为 Blob 存储,请增加 max_allowed_packet 参数

set global max_allowed_packet = 209715200;

在运行协作服务器本地之前,应创建数据库。示例数据库创建脚本

CREATE DATABASE `ckbox-on-premises`
  DEFAULT CHARACTER SET utf8mb4
  DEFAULT COLLATE utf8mb4_bin;

如果您想使用其他 SQL 数据库,如 Microsoft SQL Server 等,请联系我们

如果在没有 SUPER 权限的情况下启用了二进制日志记录,请确保启用了 log_bin_trust_function_creators。检查您的配置,尤其是在使用托管数据库服务 (DBaaS) 时,例如 AWS RDS/Aurora、Azure 数据库、Google Cloud SQL 或 DigitalOcean 托管数据库。

# PostgreSQL

PostgreSQL 的最低要求版本为 12.0。数据库和用户至少应具有以下权限:SELECT、INSERT、UPDATE、DELETE、REFERENCES、CREATE、USAGE

在运行协作服务器本地之前,应创建具有架构的数据库。示例数据库和架构创建脚本

CREATE DATABASE "cksource";
\connect "cksource";
CREATE SCHEMA "ckbox-on-premises";

# 运行服务

满足所有基础设施要求后,您可以准备 CKBox 应用程序以运行。

按照以下步骤使用 Docker 镜像安装 CKBox On-Premises。

  • 使用以下说明登录 CKBox On-Premises Docker 注册表并拉取 Docker 镜像。要获取 DOWNLOAD_TOKEN,请联系我们
docker login -u ckbox -p [DOWNLOAD_TOKEN] https://docker.cke-cs.com
docker pull docker.cke-cs.com/ckbox:latest
  • 启动 Docker 容器(您可以在 配置部分 中找到所有配置选项)。
docker run --init -p 8080:8080 \
    -e LICENSE_KEY=[your license key from CKEditor Ecosystem customer dashboard] \
    -e ENVIRONMENTS_MANAGEMENT_SECRET_KEY=[your management secret key used in management panel] \
    -e DATABASE_DRIVER=[mysql|postgres] \
    -e DATABASE_HOST=[your database host] \
    -e DATABASE_USER=[your database user] \
    -e DATABASE_PASSWORD=[your database user password] \
    -e DATABASE_DATABASE=[your database name] \
    -e REDIS_HOST=[your redis host] \
    -e STORAGE_DRIVER=[s3|azure|filesystem|database] \
    -e STORAGE_ACCESS_KEY_ID=[your AWS access key] \
    -e STORAGE_SECRET_ACCESS_KEY=[your AWS secret key] \
    -e STORAGE_BUCKET=[your S3 bucket name] \
    docker.cke-cs.com/ckbox:[version]
  • 通过 云服务管理面板 创建具有 访问密钥环境。要访问管理面板,请使用您提供给容器的 ENVIRONMENTS_MANAGEMENT_SECRET_KEY。然后,使用您在面板中创建的 环境 ID访问密钥创建令牌端点
  • CKBox 配置选项 中将 serviceOriginassetsOrigin 设置为您的服务器 URL。