Premium self-hosted bundle - Hyperlinking service container

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.