部署
# 基础设施
要在您的服务器上运行 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 配置选项 中将
serviceOrigin
和assetsOrigin
设置为您的服务器 URL。