mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-07-31 17:39:14 +00:00
Documentation - How to set up ATS
Add a new article to explain how to set up the Alfresco Transform Service in the generated projects.
This commit is contained in:
116
docs/alfresco-transform-service.md
Normal file
116
docs/alfresco-transform-service.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# How to set up Alfresco Transform Service
|
||||
|
||||
By default, the _Alfresco Transform Service_ (from now ATS) is not included in the basic configuration of the projects generated making use of the Alfresco
|
||||
SDK archetypes.
|
||||
|
||||
ATS is only supported in ACS Enterprise and it is distributed as a composition of Docker containers. The docker images required for ATS are available in the
|
||||
private Alfresco [Quay.io](https://quay.io/) docker registry. You'll need your [Quay.io](https://quay.io/) account credentials to access the Docker images.
|
||||
If you don't already have these credentials, contact [Alfresco Support](https://support.alfresco.com/).
|
||||
|
||||
In order to properly configure ATS in a project generated using the Alfresco SDK archetypes it is required to execute 2 steps:
|
||||
1. Add the containers that conform ATS to the Docker compose file.
|
||||
2. Configure the properties that are required to properly set up ATS.
|
||||
|
||||
## Adding the new containers
|
||||
|
||||
* Locate the Docker compose file (usually at `PROJECT_ROOT_PATH/docker/docker-compose.yml`) and add the containers that conform ATS (`transform-router`,
|
||||
`alfresco-pdf-renderer`, `imagemagick`, `libreoffice`, `tika`, `shared-file-store` and `activemq`):
|
||||
|
||||
```
|
||||
services:
|
||||
...
|
||||
transform-router:
|
||||
image: quay.io/alfresco/alfresco-transform-router:0.5.0
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx512m"
|
||||
ACTIVEMQ_URL: "nio://activemq:61616"
|
||||
IMAGEMAGICK_URL: "http://imagemagick:8090"
|
||||
PDF_RENDERER_URL: "http://alfresco-pdf-renderer:8090"
|
||||
LIBREOFFICE_URL: "http://libreoffice:8090"
|
||||
TIKA_URL: "http://tika:8090"
|
||||
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
|
||||
links:
|
||||
- activemq
|
||||
alfresco-pdf-renderer:
|
||||
image: quay.io/alfresco/alfresco-pdf-renderer:2.0.8
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx512m"
|
||||
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
|
||||
ports:
|
||||
- 8090:8090
|
||||
imagemagick:
|
||||
image: quay.io/alfresco/alfresco-imagemagick:2.0.8
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx512m"
|
||||
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
|
||||
ports:
|
||||
- 8091:8090
|
||||
libreoffice:
|
||||
image: quay.io/alfresco/alfresco-libreoffice:2.0.8
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx512m"
|
||||
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
|
||||
ports:
|
||||
- 8092:8090
|
||||
tika:
|
||||
image: quay.io/alfresco/alfresco-tika:2.0.8
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx512m"
|
||||
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
|
||||
ports:
|
||||
- 8093:8090
|
||||
shared-file-store:
|
||||
image: alfresco/alfresco-shared-file-store:0.5.1
|
||||
environment:
|
||||
JAVA_OPTS: " -Xms256m -Xmx512m"
|
||||
scheduler.content.age.millis: 86400000
|
||||
scheduler.cleanup.interval: 86400000
|
||||
ports:
|
||||
- 8099:8099
|
||||
volumes:
|
||||
- shared-file-store-volume:/tmp/Alfresco/sfs
|
||||
activemq:
|
||||
image: alfresco/alfresco-activemq:5.15.6
|
||||
ports:
|
||||
- 8161:8161 # Web Console
|
||||
- 5672:5672 # AMQP
|
||||
- 61616:61616 # OpenWire
|
||||
- 61613:61613 # STOMP
|
||||
...
|
||||
```
|
||||
|
||||
* Check that you haven't any port conflict with other services in the Docker compose file.
|
||||
* Add the new volume required for the shared file store (`alfresco/alfresco-shared-file-store`) in the Docker compose file:
|
||||
|
||||
```
|
||||
volumes:
|
||||
...
|
||||
shared-file-store-volume:
|
||||
driver_opts:
|
||||
type: tmpfs
|
||||
device: tmpfs
|
||||
```
|
||||
|
||||
## Adding the required configuration
|
||||
|
||||
* Locate the _Alfresco global properties_ file for docker (usually at `PROJECT_ROOT_PATH/PROJECT_ARTIFACT_ID-platform-docker/src/main/docker/alfresco-global.properties`)
|
||||
and add the ATS configuration properties:
|
||||
|
||||
```
|
||||
# Alfresco Transform Service
|
||||
alfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
|
||||
jodconverter.url=http://libreoffice:8090/
|
||||
img.url=http://imagemagick:8090/
|
||||
tika.url=http://tika:8090/
|
||||
sfs.url=http://shared-file-store:8099/
|
||||
local.transform.service.enabled=true
|
||||
transform.service.enabled=true
|
||||
messaging.broker.url=failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true
|
||||
```
|
||||
|
||||
* Remove the old value of the property `messaging.broker.url` in the same `alfresco-global.properties` file.
|
||||
|
||||
Once this 2 modifications are done, rebuild and restart all the services (`run.sh/run.bat build_start`) and ACS will use ATS to execute remote transformations
|
||||
asynchronously whenever possible.
|
||||
|
||||
|
Reference in New Issue
Block a user