Compare commits

..

7 Commits

Author SHA1 Message Date
6e0c055222 Merge branch 'proxy' into aps-base 2021-04-02 09:06:48 -04:00
20b41bbcb1 corrected misspelling 2021-01-13 15:39:02 -05:00
a2619fac7b fixed license directory var 2021-01-13 15:37:06 -05:00
16aa444b19 removed excess file mapping 2021-01-13 15:32:03 -05:00
8a0ccc61a5 backported some stuff from aps to aps-base 2021-01-13 15:22:30 -05:00
237a8abd62 fixed proxy depends_on 2021-01-13 14:33:11 -05:00
f28c16c4fe initial aps base 2021-01-13 14:32:12 -05:00
5 changed files with 49 additions and 151 deletions

9
.env
View File

@@ -4,12 +4,3 @@ ALFRESCO_LICENSE_DIR=~/alfresco/license
PROXY_PROTOCOL=http PROXY_PROTOCOL=http
PROXY_HOST=localhost PROXY_HOST=localhost
PROXY_PORT=8080 PROXY_PORT=8080
ACS_TAG=7.4.1.1
ATR_TAG=3.0.0
ATE_AIO_TAG=4.0.0
ASFS_TAG=3.0.0
AAMQ_TAG=latest
POSTGRES_TAG=13
ASIE_TAG=2.0.8.2
ALF_SYNC_SERV_TAG=3.9.0

View File

@@ -3,11 +3,3 @@
This Git Repository intends to represent environments in Docker Compose. All environments are effectively a derivative of other environments. The original environment is the environment represented by the `base` branch. All derivative environments are represented by other branches. Those branches are named in the format `{core}.{parent}`. This Git Repository intends to represent environments in Docker Compose. All environments are effectively a derivative of other environments. The original environment is the environment represented by the `base` branch. All derivative environments are represented by other branches. Those branches are named in the format `{core}.{parent}`.
## Licensing
This version of Alfresco requires licensing.
### ACS Enterprise
The enterprise version of ACS requires a license file for it to work for more than 2 days. This means it isn't really required, but it is becomes important when you utilize any `persist` branch. For licensing to work, you must place your license file in the following directory relative to the user home directory that runs the Docker Compose command: `alfresco/license/acs`. There must be just one file in there that ends in `.lic`.

View File

@@ -1,142 +1,54 @@
# Originally sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml # Sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml
# #
version: "3" # Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose
version: "2"
services: services:
activiti-app:
platform: image: alfresco/process-services:latest
image: quay.io/alfresco/alfresco-governance-repository-enterprise:${ACS_TAG}
environment: environment:
JAVA_TOOL_OPTIONS: " ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
-Dencryption.keystore.type=JCEKS ACTIVITI_ES_REST_CLIENT_ADDRESS: search-aps
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
-Dencryption.keyAlgorithm=DESede
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
-Dmetadata-keystore.password=mp6yc0UD9e
-Dmetadata-keystore.aliases=metadata
-Dmetadata-keystore.metadata.password=oKIWzVdEdA
-Dmetadata-keystore.metadata.algorithm=DESede
"
JAVA_OPTS: "
-Xms512m -Xmx1g
-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.secureComms=secret
-Dsolr.sharedSecret=alfresco-secret
-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
-Dcsrf.filter.enabled=false
-Dcors.enabled=false
-Dtransform.service.enabled=true
-Dtransform.service.url=http://transform-router:8095
-Dsfs.url=http://shared-file-store:8099
-Dlocal.transform.service.enabled=true
-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: depends_on:
- postgres-acs - postgres-aps
- activemq
- shared-file-store
volumes: volumes:
- "$ALFRESCO_LICENSE_DIR/acs:/usr/local/tomcat/shared/classes/alfresco/extension/license:ro" - "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
transform-router: activiti-admin:
image: quay.io/alfresco/alfresco-transform-router:${ATR_TAG} image: alfresco/process-services-admin:latest
environment: environment:
ACTIVEMQ_URL: "nio://activemq:61616" ACTIVITI_ADMIN_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps-admin:5432/activiti-admin?characterEncoding=UTF-8'
CORE_AIO_URL : "http://transform-core-aio:8090" ACTIVITI_ADMIN_REST_APP_HOST: http://activiti-app
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
depends_on: depends_on:
- activemq - postgres-aps-admin
- shared-file-store - activiti-app
transform-core-aio: postgres-aps:
image: alfresco/alfresco-transform-core-aio:${ATE_AIO_TAG} image: postgres:latest
environment: environment:
ACTIVEMQ_URL: "nio://activemq:61616" POSTGRES_DB: activiti
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
postgres-aps-admin:
image: postgres:latest
environment:
POSTGRES_DB: activiti-admin
search-aps:
image: elasticsearch:latest
environment:
discovery.type: single-node
ulimits:
memlock:
soft: -1
hard: -1
depends_on: depends_on:
- activemq - activiti-app
- shared-file-store
shared-file-store:
image: quay.io/alfresco/alfresco-shared-file-store:${ASFS_TAG}
volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs
postgres-acs:
image: postgres:${POSTGRES_TAG}
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:${ASIE_TAG}
environment:
SOLR_ALFRESCO_HOST: platform
SOLR_SOLR_HOST: search
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
ALFRESCO_SECURE_COMMS: secret
JAVA_TOOL_OPTIONS: "
-Dalfresco.secureComms.secret=alfresco-secret
"
healthcheck:
test: "curl -fsS http://localhost:8983/solr"
activemq:
image: alfresco/alfresco-activemq:${AAMQ_TAG}
environment:
ACTIVEMQ_OPTS_MEMORY: -Xms64m -Xmx256m
ACTIVEMQ_ADMIN_LOGIN: alfresco
ACTIVEMQ_ADMIN_PASSWORD: alfresco
sync:
image: quay.io/alfresco/service-sync:${ALF_SYNC_SERV_TAG}
environment:
JAVA_OPTS : "
-Xms64m -Xmx256m
-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
"
depends_on:
- postgres-acs
- activemq
proxy: proxy:
build: ./nginx-ingress build: ./nginx-ingress
image: local/nginx-ingress:acs-sync image: local/nginx-ingress:acs
ports: ports:
- 8080:8080 - 8080:8080
depends_on: depends_on:
- platform - activiti-app
- sync - activiti-admin
volumes:
shared-file-store-volume:
driver_opts:
type: tmpfs
device: tmpfs

View File

@@ -1,11 +1,11 @@
#!/bin/sh #!/bin/sh
if [[ $ACS_PLATFORM_URL ]]; then if [[ $APS_APP_URL ]]; then
sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/activiti-app:8080%"$APS_APP_URL"%g /etc/nginx/nginx.conf
fi fi
if [[ $ACS_SYNC_URL ]]; then if [[ $APS_ADMIN_URL ]]; then
sed -i s%http:\/\/sync:9090%"$ACS_SYNC_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/activiti-admin:8080%"$APS_ADMIN_URL"%g /etc/nginx/nginx.conf
fi fi
if [[ $ACCESS_LOG ]]; then if [[ $ACCESS_LOG ]]; then

View File

@@ -39,18 +39,21 @@ http {
location ~ ^(/.*/s/prometheus)$ {return 403;} location ~ ^(/.*/s/prometheus)$ {return 403;}
location / { location / {
proxy_pass http://platform:8080; return 301 $scheme://$http_host/activiti-app;
} }
location /alfresco/ { location /activiti-app/ {
proxy_pass http://platform:8080; proxy_pass http://activiti-app:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash) # If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off; absolute_redirect off;
} }
location /sync/ { location /activiti-admin/ {
proxy_pass http://sync:9090/alfresco/; proxy_pass http://activiti-admin:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
} }
} }
} }