diff --git a/docker-compose.yml b/docker-compose.yml index fd8fe79..b4dfd14 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,155 @@ version: "2" services: + platform: + image: quay.io/alfresco/alfresco-governance-repository-enterprise:V3.4-latest + mem_limit: 1700m + environment: + JAVA_OPTS: " + -Ddb.driver=org.postgresql.Driver + -Ddb.username=alfresco + -Ddb.password=alfresco + -Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco + -Dindex.subsystem.name=solr6 + -Dsolr.host=search + -Dsolr.port=8983 + -Dsolr.secureComms=none + -Dshare.host=${PROXY_HOST} + -Dshare.port=${PROXY_PORT} + -Dshare.protocol=${PROXY_PROTOCOL} + -Dalfresco.host=${PROXY_HOST} + -Dalfresco.port=${PROXY_PORT} + -Dalfresco.protocol=${PROXY_PROTOCOL} + -Daos.baseUrlOverwrite=${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/alfresco/aos + -Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\" + -Ddeployment.method=DOCKER_COMPOSE + -DlocalTransform.core-aio.url=http://transform-core-aio:8090/ + -Dalfresco-pdf-renderer.url=http://transform-core-aio:8090/ + -Djodconverter.url=http://transform-core-aio:8090/ + -Dimg.url=http://transform-core-aio:8090/ + -Dtika.url=http://transform-core-aio:8090/ + -Dtransform.misc.url=http://transform-core-aio:8090/ + -Dcsrf.filter.enabled=false + -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 + + -Dtransform.service.enabled=true + -Dlocal.transform.service.enabled=false + + -Dtransform.service.url=http://transform-router:8095 + -Dsfs.url=http://shared-file-store:8099 + -Dalfresco-pdf-renderer.url=http://transform-engine-aio:8090 + -Djodconverter.url=http://transform-engine-aio:8090 + -Dimg.url=http://transform-engine-aio:8090 + -Dtika.url=http://transform-engine-aio:8090 + -Dtransform.misc.url=http://transform-engine-aio:8090 + + -Ddsync.service.uris=${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/sync + + -Dsystem.content.eagerOrphanCleanup=true + -Dsystem.content.orphanProtectDays=0 + -Djodconverter.enabled=false + " + depends_on: + - postgres-acs + - activemq + - shared-file-store + volumes: + - "$ALFRESCO_LICENSE_DIR/acs:/usr/local/tomcat/shared/classes/alfresco/extension/license:ro" + + transform-router: + image: quay.io/alfresco/alfresco-transform-router:1.3.1 + environment: + ACTIVEMQ_URL: "nio://activemq:61616" + CORE_AIO_URL : "http://transform-core-aio:8090" + FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" + depends_on: + - activemq + - shared-file-store + + transform-core-aio: + image: alfresco/alfresco-transform-core-aio:2.3.6 + environment: + ACTIVEMQ_URL: "nio://activemq:61616" + FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" + depends_on: + - activemq + - shared-file-store + + shared-file-store: + image: alfresco/alfresco-shared-file-store:0.10.0 + volumes: + - shared-file-store-volume:/tmp/Alfresco/sfs + + transform-core-aio: + image: alfresco/alfresco-transform-core-aio:2.3.6 + + share: + image: quay.io/alfresco/alfresco-governance-share-enterprise:V3.4-latest + mem_limit: 512m + environment: + REPO_HOST: "platform" + CSRF_FILTER_REFERER: "${PROXY_PROTOCOL}://${PROXY_HOST}(:${PROXY_PORT})?/?.*" + CSRF_FILTER_ORIGIN: "${PROXY_PROTOCOL}://${PROXY_HOST}(:${PROXY_PORT})?" + JAVA_OPTS: " + -Dshare.host=${PROXY_HOST} + -Dshare.port=${PROXY_PORT} + -Dshare.protocol=${PROXY_PROTOCOL} + -Dalfresco.host=${PROXY_HOST} + -Dalfresco.port=${PROXY_PORT} + -Dalfresco.protocol=${PROXY_PROTOCOL} + " + + postgres-acs: + image: postgres:11.7 + mem_limit: 512m + environment: + - POSTGRES_PASSWORD=alfresco + - POSTGRES_USER=alfresco + - POSTGRES_DB=alfresco + command: postgres -c max_connections=300 -c log_min_messages=LOG + + search: + image: alfresco/alfresco-search-services:2.0.1 + mem_limit: 2g + environment: + - SOLR_ALFRESCO_HOST=platform + - SOLR_ALFRESCO_PORT=8080 + - SOLR_SOLR_HOST=search + - SOLR_SOLR_PORT=8983 + - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive + - ALFRESCO_SECURE_COMMS=none + + activemq: + image: alfresco/alfresco-activemq:5.15.8 + mem_limit: 256m + + sync: + image: quay.io/alfresco/service-sync:3.3.3.1 + mem_limit: 512m + environment: + JAVA_OPTS : " + -Dsql.db.driver=org.postgresql.Driver + -Dsql.db.url=jdbc:postgresql://postgres-acs:5432/alfresco + -Dsql.db.username=alfresco + -Dsql.db.password=alfresco + -Dmessaging.broker.host=activemq + -Drepo.hostname=platform + -Drepo.port=8080 + -Ddw.server.applicationConnectors[0].type=http + -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 + " + depends_on: + - postgres-acs + - activemq + + digital-workspace: + image: quay.io/alfresco/alfresco-digital-workspace:2.0.0-adw + mem_limit: 128m + environment: + BASE_PATH: ./ + APP_CONFIG_ECM_HOST: "${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}" + APP_BASE_SHARE_URL: "${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/#/preview/s" + activiti-app: image: alfresco/process-services:1.11.1.1 mem_limit: 512m @@ -69,12 +218,22 @@ services: hard: -1 depends_on: - activiti-app - + proxy: build: ./nginx-ingress - image: local/nginx-ingress:acs + image: local/nginx-ingress:acs-sync-share-adw-aps ports: - 8080:8080 depends_on: + - platform + - sync + - share + - digital-workspace - activiti-app - activiti-admin + +volumes: + shared-file-store-volume: + driver_opts: + type: tmpfs + device: tmpfs diff --git a/nginx-ingress/entrypoint.sh b/nginx-ingress/entrypoint.sh index e95c58b..f419938 100644 --- a/nginx-ingress/entrypoint.sh +++ b/nginx-ingress/entrypoint.sh @@ -1,5 +1,21 @@ #!/bin/sh +if [[ $ACS_PLATFORM_URL ]]; then + sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf +fi + +if [[ $ACS_SYNC_URL ]]; then + sed -i s%http:\/\/sync:9090%"$ACS_SYNC_URL"%g /etc/nginx/nginx.conf +fi + +if [[ $ACS_SHARE_URL ]]; then + sed -i s%http:\/\/share:8080%"$ACS_SHARE_URL"%g /etc/nginx/nginx.conf +fi + +if [[ $ADW_URL ]]; then + sed -i s%http:\/\/digital-workspace:8080%"$ADW_URL"%g /etc/nginx/nginx.conf +fi + if [[ $APS_APP_URL ]]; then sed -i s%http:\/\/activiti-app:8080%"$APS_APP_URL"%g /etc/nginx/nginx.conf fi diff --git a/nginx-ingress/nginx.conf b/nginx-ingress/nginx.conf index 47db437..d7e1285 100644 --- a/nginx-ingress/nginx.conf +++ b/nginx-ingress/nginx.conf @@ -39,7 +39,18 @@ http { location ~ ^(/.*/s/prometheus)$ {return 403;} location / { - return 301 $scheme://$http_host/activiti-app; + proxy_pass http://platform:8080; + } + + location /alfresco/ { + proxy_pass http://platform:8080; + + # If using external proxy / load balancer (for initial redirect if no trailing slash) + absolute_redirect off; + } + + location /sync/ { + proxy_pass http://sync:9090/alfresco/; } location /activiti-app/ { @@ -55,5 +66,19 @@ http { # If using external proxy / load balancer (for initial redirect if no trailing slash) absolute_redirect off; } + + location /share/ { + proxy_pass http://share:8080; + + # If using external proxy / load balancer (for initial redirect if no trailing slash) + absolute_redirect off; + } + + location /workspace/ { + proxy_pass http://digital-workspace:8080/; + + # If using external proxy / load balancer (for initial redirect if no trailing slash) + absolute_redirect off; + } } }