NEWCKEditor AI is here! Learn how to supercharge your editor with AI on our webinar.
Sign up (with export icon)

Deployment

Show the table of contents
Note

CKEditor AI On-Premises is in early access. Please note that some functionalities may be changed or not work as expected.
Also, selected capabilities available on SaaS are not available for CKEditor AI On-Premises yet.

Infrastructure

Copy link

To run CKEditor AI on your server, you need to have certain services prepared first:

  • An SQL database (MySQL and Postgres are supported)
  • A Redis database
  • Data storage (S3, Azure Blob Storage, filesystem, MySQL, or Postgres)

Besides, you need an Open Container runtime to run CKEditor AI. You can use, among others: Docker, Kubernetes, Amazon Elastic Container Service, or Azure Container Instances.

We also recommend using a load balancer. You can use almost any load balancer you choose, like NGINX, HAProxy, Amazon Elastic Load Balancing, or Azure Load Balancer. Thanks to this, you will be able to create TLS connections and run several cooperating instances of CKEditor AI On-Premises. It will increase the security and the performance of the application.

SQL Database

Copy link

The SQL database stores persistent data like configurations, conversations, files and documents. It can also be used as a data storage for your files.

MySQL

Copy link

The minimum required version of MySQL is 5.7, while MySQL in version 8.0 is both supported and recommended. The database and user should have at least the following privileges: ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, TRIGGER, UPDATE, LOCK TABLES, REFERENCES.

The database should be created before running CKEditor AI On-Premises. An example database creation script:

CREATE DATABASE `ai-service-on-premises`
  DEFAULT CHARACTER SET utf8mb4
  DEFAULT COLLATE utf8mb4_bin;
Copy code

If you want to use another SQL database like Microsoft SQL Server, etc., please contact us.

Note

If binary logging is enabled without the SUPER privilege, please make sure that log_bin_trust_function_creators is enabled. Check your configuration, especially when you use a managed database service (DBaaS) like AWS RDS/Aurora, Azure Database, Google Cloud SQL, or DigitalOcean Managed Databases.

PostgreSQL

Copy link

The minimum required version of PostgreSQL is 12.0. The database and user should have at least the following privileges: SELECT, INSERT, UPDATE, DELETE, REFERENCES, CREATE, USAGE.

The database with a schema should be created before running CKEditor AI On-Premises. An example database and schema creation script:

CREATE DATABASE "cksource";
\connect "cksource";
CREATE SCHEMA "ai-service-on-premises";
Copy code

Running the service

Copy link

After meeting all infrastructure requirements, you can prepare the CKEditor AI application to run.

Follow the steps below to install CKEditor AI On-Premises using the Docker image.

  • Use the instructions below to log into the CKEditor AI On-Premises Docker Registry and pull the Docker image. To get the DOWNLOAD_TOKEN please contact us.
docker login -u ai-service -p [DOWNLOAD_TOKEN] https://docker.cke-cs.com
docker pull docker.cke-cs.com/ai-service:latest
Copy code
docker run --init -p 8080:8080 \
    -e LICENSE_KEY=[your license key from Customer Portal] \
    -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/ai-service:[version]
Copy code
  • Create the Environment with an Access Key via the Cloud Services Management Panel. To access the management panel, use ENVIRONMENTS_MANAGEMENT_SECRET_KEY you provided to the container. Then, use your Environment ID and Access Key created in the panel to create the token endpoint.