Premium self-hosted bundle - Image Proxy service container
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. |
-
Navigate into the
tinymce-servicesfolder.cd tinymce-selfhosted/tinymce-services/ -
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 -
Copy
ephox-image-proxy.warinto the directory containing the extracted files, such as:cp ephox-image-proxy.war image-proxy-service-dockerfile/ -
Navigate into the
image-proxy-service-dockerfilefolder.cd image-proxy-service-dockerfile -
Set the permissions on the extracted files to executable.
chmod +x *.sh -
Optional: Edit the
image-proxyconfiguration setting inconfig/ephox-image-proxy-docker-env.conf. The configurable setting is in theimage-proxysection of the file. For example:image-proxy { image-size = 10000000 // 10MB in bytes }For information on the
image-proxyconfiguration setting, see: Configure server-side components -image-proxy. -
Optional: Edit the
httpconfiguration settings inconfig/ephox-image-proxy-docker-env.conf. The configurable settings are in thehttpsection 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
httpconfiguration setting, see: Configure server-side components -http. -
Optional: Configure the service to use a HTTP proxy by updating
config/ephox-image-proxy-docker-env.conf. See: Configure server-side components. -
Create an
origins.envfile in the same directory as theDockerfile, 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 editingconfig/ephox-image-proxy-docker-env.conf.For example:
ORIGIN0=example.net ORIGIN1=example ORIGIN2=http://example.orgFor information on
allowed-origins, see: Configure server-side components - allowed-origins. -
As the root user or Administrator, build the TinyMCE Image Proxy Docker image using the following command:
docker build -t tinymce-image-proxy-service . -
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-serviceWhere:
-
-p 8081:8080maps the container port8080to local port8081. -
--env-file origins.envadds the allowed origins to the container.
-
-
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
curlcommand 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.