Containerized service deployments

The TinyMCE Enterprise server-side components can be deployed on Docker orchestration applications such as Kubernetes, Docker Swarm, or OpenShift. Tiny provides packages containing pre-configured Dockerfiles for building and deploying the TinyMCE Enterprise server-side components using Docker.

Outline

Containerized services for Self-hosted Enterprise deployments

The following sections assist with containerizing the TinyMCE services for users with licenses to the Self-hosted TinyMCE Enterprise bundles:

  • The Self-hosted Essential bundle.

  • The Self-hosted Professional bundle.

  • The Self-hosted Premium bundle.

Prerequisites

Download and extract the TinyMCE Self-hosted Bundle

  1. Go to Tiny Account Downloads and download the TinyMCE self-hosted bundle .zip file.

  2. Open a command line and navigate to the directory containing the downloaded .zip file:

    • TinyMCE-Essential_latest.zip for Self-hosted Essential users.

    • TinyMCE-Professional_latest.zip for Self-hosted Professional users.

    • TinyMCE-Premium_latest.zip for Self-hosted Premium users.

    Windows Users should open a Bash command line as the Administrator User.

  3. Extract the contents of the .zip file, such as:

     unzip TinyMCE-Premium_latest.zip -d tinymce-selfhosted

    The structure of the extracted files will be:

     tinymce-selfhosted/
     ├── tinymce/
     └── tinymce-services/
         ├── ephox-hyperlinking-docker-starter-kit.zip
         ├── ephox-hyperlinking.war
         ├── ephox-image-proxy-docker-starter-kit.zip
         ├── ephox-image-proxy.war
         ├── ephox-spelling-docker-starter-kit.zip
         ├── ephox-spelling.war
         └── version.txt
  4. Navigate into the tinymce-services folder.

     cd tinymce-selfhosted/tinymce-services/

Proceed to setting up and deploying the containerized services:

Deploy the TinyMCE hyperlinking server-side component using Docker (self-hosted enterprise bundles)

The TinyMCE hyperlinking server-side component can be deployed using Docker or a container orchestration application such as Kubernetes. Tiny provides a pre-configured package for creating a Hyperlinking Docker image.

Do not push this docker image to a publicly accessible container registry. Doing so will constitute a breach of the Tiny Self-Hosted Software License Agreement, including:

Procedure

The following procedure covers downloading, configuring, building and testing the TinyMCE Hyperlinking Docker image.

This procedure assumes that a TinyMCE self-hosted enterprise bundle has been extracted as described in Download and extract the TinyMCE Self-hosted Bundle.
  1. Navigate into the tinymce-services folder.

     cd tinymce-selfhosted/tinymce-services/
  2. Extract the contents of ephox-hyperlinking-docker-starter-kit.zip, such as:

     unzip ephox-hyperlinking-docker-starter-kit.zip -d hyperlinking-service-dockerfile

    The structure of the extracted files will be:

     hyperlinking-service-dockerfile/
     ├── config
     │   └── ephox-hyperlinking-docker-env.conf
     ├── docker-entrypoint.sh
     ├── Dockerfile
     └── generate-jetty-start.sh
  3. Copy ephox-hyperlinking.war into the directory containing the extracted files, such as:

     cp ephox-hyperlinking.war hyperlinking-service-dockerfile/
  4. Navigate into the hyperlinking-service-dockerfile folder.

     cd hyperlinking-service-dockerfile
  5. Set the permissions on the extracted files to executable.

     chmod +x *.sh
  6. Optional: Edit the http configuration settings in config/ephox-hyperlinking-docker-env.conf. The configurable settings are in the http section of the file. For example:

     http {
       max-connections = 100
       max-connections-per-host = 10
       max-redirects = 10
       max-retries = 3
       request-timeout-seconds = 10
       trust-all-cert = false
       websphere = {
         use-ssl-config = true
       }
     }

    For information on the http configuration setting, see: Configure server-side components - http.

  7. Optional: Update the link-checking cache configuration, as described in Link Checker self-hosted quick setup.

  8. Optional: Configure the Enhanced Media Embed Service, as described in Configure Enhanced Media Embed Server.

  9. Optional: Configure the service to use a HTTP proxy by updating config/ephox-hyperlinking-docker-env.conf. See: Configure server-side components - proxy.

  10. Create an origins.env file in the same directory as the Dockerfile, and specify the Hypertext Transfer Protocol (HTTP) and domain name of sites hosting the TinyMCE editor (allowed-origins). Up to 99 origins can be added without editing config/ephox-hyperlinking-docker-env.conf.

    For example:

     ORIGIN0=example.net
     ORIGIN1=example
     ORIGIN2=http://example.org

    For information on allowed-origins, see: Configure server-side components - allowed-origins.

  11. As the root user or Administrator, build the TinyMCE Hyperlinking Docker image using the following command:

     docker build -t tinymce-hyperlinking-service .
  12. As the root user or Administrator, deploy the service using the following command:

     docker run -d -p 8083:8080 --env-file origins.env tinymce-hyperlinking-service

    Where:

    • -p 8083:8080 maps the container port 8080 to local port 8083.

    • --env-file origins.env adds the allowed origins to the container.

  13. To verify that the Docker container is deployed and the hyperlinking service is running, execute:

    curl http://localhost:8083/ephox-hyperlinking/

    The response from the curl command should be:

    Link checking and media embedding service is running.

The TinyMCE Hyperlinking Docker image can now be pushed to a private container registry for deployment on Kubernetes, Docker Swarm or OpenShift.

Deploy the TinyMCE image proxy server-side component using Docker (self-hosted enterprise bundles)

The TinyMCE image proxy server-side component can be deployed using Docker or a container orchestration application such as Kubernetes. Tiny provides a pre-configured package for creating a Image Proxy Docker image.

Do not push this docker image to a publicly accessible container registry. Doing so will constitute a breach of the Tiny Self-Hosted Software License Agreement, including:

Procedure

The following procedure covers downloading, configuring, building and testing the TinyMCE Image Proxy Docker image.

This procedure assumes that a TinyMCE self-hosted enterprise bundle has been extracted as described in Download and extract the TinyMCE Self-hosted Bundle.
  1. Navigate into the tinymce-services folder.

     cd tinymce-selfhosted/tinymce-services/
  2. Extract the contents of ephox-image-proxy-docker-starter-kit.zip, such as:

     unzip ephox-image-proxy-docker-starter-kit.zip -d image-proxy-service-dockerfile
  3. Copy ephox-image-proxy.war into the directory containing the extracted files, such as:

     cp ephox-image-proxy.war image-proxy-service-dockerfile/
  4. Navigate into the image-proxy-service-dockerfile folder.

     cd image-proxy-service-dockerfile
  5. Set the permissions on the extracted files to executable.

     chmod +x *.sh
  6. Optional: Edit the image-proxy configuration setting in config/ephox-image-proxy-docker-env.conf. The configurable setting is in the image-proxy section of the file. For example:

     image-proxy {
       image-size = 10000000 // 10MB in bytes
     }

    For information on the image-proxy configuration setting, see: Configure server-side components - image-proxy.

  7. Optional: Edit the http configuration settings in config/ephox-image-proxy-docker-env.conf. The configurable settings are in the http section of the file. For example:

     http {
       max-connections = 100
       max-connections-per-host = 10
       max-redirects = 10
       max-retries = 3
       request-timeout-seconds = 10
       trust-all-cert = false
       websphere = {
         use-ssl-config = true
       }
     }

    For information on the http configuration setting, see: Configure server-side components - http.

  8. Optional: Configure the service to use a HTTP proxy by updating config/ephox-image-proxy-docker-env.conf. See: Configure server-side components.

  9. Create an origins.env file in the same directory as the Dockerfile, and specify the Hypertext Transfer Protocol (HTTP) and domain name of sites hosting the TinyMCE editor (allowed-origins). Up to 99 origins can be added without editing config/ephox-image-proxy-docker-env.conf.

    For example:

     ORIGIN0=example.net
     ORIGIN1=example
     ORIGIN2=http://example.org

    For information on allowed-origins, see: Configure server-side components - allowed-origins.

  10. As the root user or Administrator, build the TinyMCE Image Proxy Docker image using the following command:

     docker build -t tinymce-image-proxy-service .
  11. As the root user or Administrator, deploy the service using the following command:

     docker run -d -p 8081:8080 --env-file origins.env tinymce-image-proxy-service

    Where:

    • -p 8081:8080 maps the container port 8080 to local port 8081.

    • --env-file origins.env adds the allowed origins to the container.

  12. To verify that the Docker container is deployed and the image proxy is running, execute:

    curl http://localhost:8081/ephox-image-proxy/

    The response from the curl command should be:

    Image proxy service is running.

The TinyMCE Image Proxy Docker image can now be pushed to a private container registry for deployment on Kubernetes, Docker Swarm or OpenShift.

Deploy the TinyMCE spelling service server-side component using Docker (self-hosted enterprise bundles)

The TinyMCE spelling service server-side component can be deployed using Docker or a container orchestration application such as Kubernetes. Tiny provides a pre-configured package for creating a Spelling Service Docker image.

Do not push this docker image to a publicly accessible container registry. Doing so will constitute a breach of the Tiny Self-Hosted Software License Agreement, including:

Procedure

The following procedure covers downloading, configuring, building and testing the TinyMCE Spelling Service Docker image.

This procedure assumes that a TinyMCE self-hosted enterprise bundle has been extracted as described in Download and extract the TinyMCE Self-hosted Bundle.
  1. Navigate into the tinymce-services folder.

    cd tinymce-selfhosted/tinymce-services/
  2. Extract the contents of ephox-spelling-docker-starter-kit.zip, such as:

    unzip ephox-spelling-docker-starter-kit.zip -d spelling-service-dockerfile

    The structure of the extracted files will be:

    spelling-service-dockerfile/
    ├── config
    │   └── ephox-spelling-docker-env.conf
    ├── docker-entrypoint.sh
    ├── Dockerfile
    └── generate-jetty-start.sh
  3. Copy ephox-spelling.war into the directory containing the extracted files, such as:

    cp ephox-spelling.war spelling-service-dockerfile/
  4. Navigate into the spelling-service-dockerfile folder.

    cd spelling-service-dockerfile
  5. Set the permissions on the extracted files to executable.

    chmod +x *.sh
  6. Optional: Edit the http configuration settings in config/ephox-spelling-docker-env.conf. The configurable settings are in the http section of the file. For example:

    http {
      max-connections = 100
      max-connections-per-host = 10
      max-redirects = 10
      max-retries = 3
      request-timeout-seconds = 10
      trust-all-cert = false
      websphere = {
        use-ssl-config = true
      }
    }

    For information on the http configuration setting, see: Configure server-side components - http.

  7. Optional: Configure the service to use a HTTP proxy by updating config/ephox-spelling-docker-env.conf. See: Configure server-side components.

  8. Optional: Add a custom dictionary, as described in Adding custom dictionaries.

  9. Create an origins.env file in the same directory as the Dockerfile, and specify the Hypertext Transfer Protocol (HTTP) and domain name of sites hosting the TinyMCE editor (allowed-origins). Up to 99 origins can be added without editing config/ephox-spelling-docker-env.conf.

    For example:

    ORIGIN0=example.net
    ORIGIN1=example
    ORIGIN2=http://example.org

    For information on allowed-origins, see: Configure server-side components - allowed-origins.

  10. As the root user or Administrator, build the TinyMCE Spelling Service Docker image using the following command:

    docker build -t tinymce-spelling-service .
  11. As the root user or Administrator, deploy the service using the following command:

    docker run -d -p 8082:8080 --env-file origins.env tinymce-spelling-service

    Where:

    • -p 8082:8080 maps the container port 8080 to local port 8082.

    • --env-file origins.env adds the allowed origins to the container.

  12. To verify that the Docker container is deployed and the spelling service is running, execute:

    curl http://localhost:8082/ephox-spelling/

    The response from the curl command should be:

    Spelling service is running.

The TinyMCE Spelling Service Docker image can now be pushed to a private container registry for deployment on Kubernetes, Docker Swarm or OpenShift.

Containerized services for individually licensed premium plugins

The following sections assist with containerizing the TinyMCE services for users with licenses to self-hosted versions of:

Select from the following:

Deploy the TinyMCE hyperlinking server-side component using Docker (individually licensed)

The TinyMCE hyperlinking server-side component can be deployed using Docker or a container orchestration application such as Kubernetes. Tiny provides a pre-configured package for creating a Hyperlinking Docker image.

Do not push this docker image to a publicly accessible container registry. Doing so will constitute a breach of the Tiny Self-Hosted Software License Agreement, including:

Prerequisites

Procedure

The following procedure covers downloading, configuring, building and testing the TinyMCE Hyperlinking Docker image.

  1. Go to Tiny Account > My Downloads and download either:

    • Tiny Enhanced Media Embed, or

    • Tiny Link Checker.

      1. Open a command line and navigate to the directory containing ephox-hyperlinking_<version>.zip. Windows Users should open a Bash command line as the Administrator User.

      2. Extract the contents of ephox-hyperlinking_<version>.zip, such as:

         unzip ephox-hyperlinking_<version>.zip -d tinymce-hyperlinking-service
      3. Navigate into the extracted folder.

         cd tinymce-hyperlinking-service
      4. Extract the contents of ephox-hyperlinking-docker-starter-kit.zip, such as:

         unzip ephox-hyperlinking-docker-starter-kit.zip

        The structure of the current directory (tinymce-hyperlinking-service/) will be:

         tinymce-hyperlinking-service/
         ├── config
         │   └── ephox-hyperlinking-docker-env.conf
         ├── docker-entrypoint.sh
         ├── Dockerfile
         ├── ephox-hyperlinking-docker-starter-kit.zip
         ├── ephox-hyperlinking.war
         ├── generate-jetty-start.sh
         ├── license.txt
         ├── readme.txt
         └── version.txt
      5. Set the permissions on the extracted files to executable.

         chmod +x *.sh
      6. Optional: Edit the http configuration settings in config/ephox-hyperlinking-docker-env.conf. The configurable settings are in the http section of the file. For example:

         http {
           max-connections = 100
           max-connections-per-host = 10
           max-redirects = 10
           max-retries = 3
           request-timeout-seconds = 10
           trust-all-cert = false
           websphere = {
             use-ssl-config = true
           }
         }

        For information on the http configuration setting, see: Configure server-side components - http.

      7. Optional: Update the link-checking cache configuration, as described in Link Checker self-hosted quick setup.

      8. Optional: Configure the Enhanced Media Embed Service, as described in Configure Enhanced Media Embed Server.

      9. Optional: Configure the service to use a HTTP proxy by updating config/ephox-hyperlinking-docker-env.conf. See: Configure server-side components - proxy.

      10. Create an origins.env file in the same directory as the Dockerfile, and specify the Hypertext Transfer Protocol (HTTP) and domain name of sites hosting the TinyMCE editor (allowed-origins). Up to 99 origins can be added without editing config/ephox-hyperlinking-docker-env.conf.

        For example:

         ORIGIN0=example.net
         ORIGIN1=example
         ORIGIN2=http://example.org

        For information on allowed-origins, see: Configure server-side components - allowed-origins.

      11. As the root user or Administrator, build the TinyMCE Hyperlinking Docker image using the following command:

         docker build -t tinymce-hyperlinking-service .
      12. As the root user or Administrator, deploy the service using the following command:

         docker run -d -p 8083:8080 --env-file origins.env tinymce-hyperlinking-service

        Where:

        • -p 8083:8080 maps the container port 8080 to local port 8083.

        • --env-file origins.env adds the allowed origins to the container.

      13. To verify that the Docker container is deployed and the hyperlinking service is running, execute:

        curl http://localhost:8083/ephox-hyperlinking/

        The response from the curl command should be:

        Link checking and media embedding service is running.

The TinyMCE Hyperlinking Docker image can now be pushed to a private container registry for deployment on Kubernetes, Docker Swarm or OpenShift.

Deploy the TinyMCE spelling service server-side component using Docker (individually licensed)

The TinyMCE spelling service server-side component can be deployed using Docker or a container orchestration application such as Kubernetes. Tiny provides a pre-configured package for creating a Spelling Service Docker image.

Do not push this docker image to a publicly accessible container registry. Doing so will constitute a breach of the Tiny Self-Hosted Software License Agreement, including:

Prerequisites

Procedure

The following procedure covers downloading, configuring, building and testing the TinyMCE Spelling Service Docker image.

  1. Go to link:https://www.tiny.cloud/my-account  Tiny Account[My Downloads] and download Tiny Spell Checker Pro.

  2. Open a command line and navigate to the directory containing ephox-spelling_<version>.zip. Windows Users should open a Bash command line as the Administrator User.

  3. Extract the contents of ephox-spelling_<version>.zip, such as:

    unzip ephox-spelling_<version>.zip -d tinymce-spelling-service
  4. Navigate into the extracted folder.

    cd tinymce-spelling-service
  5. Extract the contents of ephox-spelling-docker-starter-kit.zip, such as:

    unzip ephox-spelling-docker-starter-kit.zip

    The structure of the current directory (tinymce-spelling-service/) will be:

    tinymce-spelling-service/
    ├── config
    │   └── ephox-spelling-docker-env.conf
    ├── docker-entrypoint.sh
    ├── Dockerfile
    ├── ephox-spelling-docker-starter-kit.zip
    ├── ephox-spelling.war
    ├── generate-jetty-start.sh
    ├── license.txt
    ├── readme.txt
    └── version.txt
  6. Set the permissions on the extracted files to executable.

    chmod +x *.sh
  7. Optional: Edit the http configuration settings in config/ephox-spelling-docker-env.conf. The configurable settings are in the http section of the file. For example:

    http {
      max-connections = 100
      max-connections-per-host = 10
      max-redirects = 10
      max-retries = 3
      request-timeout-seconds = 10
      trust-all-cert = false
      websphere = {
        use-ssl-config = true
      }
    }

    For information on the http configuration setting, see: Configure server-side components - http.

  8. Optional: Configure the service to use a HTTP proxy by updating config/ephox-spelling-docker-env.conf. See: Configure server-side components.

  9. Optional: Add a custom dictionary, as described in Adding custom dictionaries.

  10. Create an origins.env file in the same directory as the Dockerfile, and specify the Hypertext Transfer Protocol (HTTP) and domain name of sites hosting the TinyMCE editor (allowed-origins). Up to 99 origins can be added without editing config/ephox-spelling-docker-env.conf.

    For example:

    ORIGIN0=example.net
    ORIGIN1=example
    ORIGIN2=http://example.org

    For information on allowed-origins, see: Configure server-side components - allowed-origins.

  11. As the root user or Administrator, build the TinyMCE Spelling Service Docker image using the following command:

    docker build -t tinymce-spelling-service .
  12. As the root user or Administrator, deploy the service using the following command:

    docker run -d -p 8082:8080 --env-file origins.env tinymce-spelling-service

    Where:

    • -p 8082:8080 maps the container port 8080 to local port 8082.

    • --env-file origins.env adds the allowed origins to the container.

  13. To verify that the Docker container is deployed and the spelling service is running, execute:

    curl http://localhost:8082/ephox-spelling/

    The response from the curl command should be:

    Spelling service is running.

The TinyMCE Spelling Service Docker image can now be pushed to a private container registry for deployment on Kubernetes, Docker Swarm or OpenShift.