Requirements
Before you install CKEditor AI On-Premises, check that you can provide everything on this page: machines with a container runtime, an SQL database, an in-memory data store, file storage, at least one LLM provider, a token endpoint in your application, and outbound network access. To plan how the pieces fit together, see Architecture. To install, see Deployment.
If you want to know what CKEditor AI does and which integration fits your product, see the CKEditor AI guides.
You need a valid license key to install CKEditor AI On-Premises. Contact us for an on-premise trial license key, or for access to the development build.
You can also test the cloud version for 14 days with the Premium Features free trial.
No single infrastructure setup fits every deployment. The recommendation below covers high availability. Monitor your application after you deploy it, and adjust the infrastructure to the load you see.
For high availability, run at least three instances of CKEditor AI On-Premises. You can run them as Docker containers on a single machine, but we recommend at least three machines. The deployment then survives the failure of one machine.
To scale across several machines, use a load balancer such as HAProxy or NGINX. For configuration examples, see SSL communication. You can also scale with a container platform such as Amazon Elastic Container Service, Azure Container Instances, or Kubernetes.
CKEditor AI On-Premises ships as a Linux-based Docker image. Run it on Linux machines, or use Docker Desktop on Windows and macOS.
CKEditor AI On-Premises runs under any Open Container runtime, such as Docker, Kubernetes, OpenShift, or Podman.
On Windows, enable the WSL 2 backend and switch to Linux containers. See the Docker Desktop installation guide for the steps.
CKEditor AI On-Premises connects to OpenAI, Anthropic, Google, Azure OpenAI, Amazon Bedrock, Google Vertex AI, and any provider compatible with the OpenAI Chat Completions API. You need at least one provider. For the supported providers and their options, see LLM providers.
CKEditor AI On-Premises needs PostgreSQL 12.0 or later, or MySQL 8.0 or later. For the privileges the database user needs, and for the creation scripts, see SQL Database on the Deployment page.
For another SQL engine, such as Microsoft SQL Server, contact us.
You can run the SQL database and the in-memory data store in containers, but that needs close monitoring and a fast response when a container fails. Before you decide, read “To run or not to run a database on Kubernetes: What to consider”.
CKEditor AI On-Premises needs an in-memory data store compatible with the Redis protocol. The REDIS_* options configure it, whichever product you run. Supported implementations:
- Valkey 9.0.0 or newer, as a single instance or in Cluster mode
- Redis 3.2.6 or newer, as a single instance or in Cluster mode
Redis Sentinel is not supported. For the connection options, see Redis database on the Configuration page.
CKEditor AI On-Premises stores uploaded files in one of these:
- Amazon S3
- Azure Blob Storage
- Filesystem
- SQL database
For the connection options, see Storage on the Configuration page.
Every request to CKEditor AI On-Premises carries a JWT that your own application signs. You provide the endpoint that authenticates the user and returns that token. Authentication explains the token, and Create the token endpoint on the Deployment page shows the installation step.
The application containers open every connection themselves. No CKSource host connects to your deployment.
Inbound traffic comes from your own users and systems: the editors in your users’ browsers, and your backend. Both call the API through your load balancer, on the application port (8000 by default). The application port serves plain HTTP. To serve HTTPS, terminate TLS at the load balancer. See SSL communication.
The outbound destinations you must allow depend on your configuration. The hosted endpoints below use HTTPS. Endpoints you provide yourself use the host and port you configure.
| Destination | Purpose | When it applies |
|---|---|---|
docker.cke-cs.com |
Pulls the application image. | At install time and at every upgrade. See Pull the Docker image on the Deployment page. |
license.cke-cs.com |
Validates your license key and reports license usage. | Always, if you use an online license key. An offline key is validated locally. See the license_key option under Secret keys. |
LLM provider APIs: api.openai.com, api.anthropic.com, generativelanguage.googleapis.com, bedrock-runtime.<region>.amazonaws.com, aiplatform.googleapis.com, or the host of your Azure OpenAI resource |
Sends prompts and document content to the models that serve your features. | Always, as at least one provider must be configured. If you host an OpenAI-compatible provider yourself, the model traffic stays inside your network. See LLM providers. |
api.openai.com |
Checks prompts and uploaded images for unsafe material before they reach a model. | By default, because moderation uses the OpenAI moderation API. You can configure your own moderation endpoint instead, or turn moderation off. See Moderation. |
| Your web search gateway | Runs the searches that models request. | Only if you enable web search. See Web search. |
| Your web resources gateway | Fetches the pages that users and models reference. | Only if you enable web scraping. See Web resources. |
| The MCP servers you connect | Calls the tools those servers expose. | Only for the servers you configure. See MCP tools. |
Your OTLP collector, and cloud.langfuse.com or your own Langfuse instance |
Exports traces. | Only if you enable observability. See Observability. |