The Collaboration Worker is a separate application intended to relieve CKEditor Cloud Services On-Premises of high CPU consumptive tasks. Using this service is optional.
We recommend using this service in large scale deployments to improve reliability. If it is possible, you should run this container on a separate machine.
The Collaboration Worker is available only for the Docker. There is no option to run it with
The only requirement to make the services working together is connecting them to the same Redis and SQL database. You can run multiple worker instances and all of them will be available for CKEditor Cloud Services On-Premises instances.
Furthermore, we recommend disabling a built-in Collaboration Worker in CKEditor Cloud Services On-Premises if the external is available. You can do it by setting a
USE_BUILT_IN_COLLABORATION_WORKER environment variable to
# Example with
The steps are similar as in the case of regular CKEditor Cloud Services On-Premises installation.
docker-compose as an example configuration to explain how the services should be configured. In a production environment, we recommend using clusters managed by a container-orchestration system like Docker Swarm, Kubernetes, ECS, GKE, AKS, or OpenShift.
- If you have the
docker-compose.ymlfile already, you can only add
worker-csservice and set
USE_BUILT_IN_COLLABORATION_WORKERenvironment variable to
ckeditor-cs. Otherwise, create the file with content:
version: "3.7" services: mysql-database: image: mysql:5.6.38 environment: MYSQL_ROOT_PASSWORD: password volumes: - ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro redis: image: redis:3.2.6 ckeditor-cs: image: docker.cke-cs.com/cs:[version] depends_on: - redis - mysql-database ports: - "8000:8000" restart: always init: true environment: DATABASE_DRIVER: mysql DATABASE_HOST: mysql-database DATABASE_USER: root DATABASE_PASSWORD: password REDIS_HOST: redis ENVIRONMENTS_MANAGEMENT_SECRET_KEY: secret LICENSE_KEY: your_license_key STORAGE_DRIVER: filesystem STORAGE_LOCATION: /var/cs/easyimage USE_BUILT_IN_COLLABORATION_WORKER: "false" volumes: - ~/easyimage_files:/var/cs/easyimage worker-cs: image: docker.cke-cs.com/cs-worker:[version] restart: always init: true environment: DATABASE_DRIVER: mysql DATABASE_HOST: mysql-database DATABASE_USER: root DATABASE_PASSWORD: password REDIS_HOST: redis
The version of
cs-worker images should be the same.
You should also connect the services to the same Redis and SQL databases.
CREATE DATABASE `cs-on-premises` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;