Compare commits

..

25 Commits

Author SHA1 Message Date
brian
5faa546a0f Merge branch 'aps-persist-base' into aps-persist 2021-04-02 09:13:39 -04:00
brian
4f191bcbea Merge branch 'aps' into aps-persist 2021-04-02 09:13:38 -04:00
brian
ba6a0f70ad Merge branch 'aps-base' into aps-persist-base 2021-04-02 09:13:20 -04:00
brian
8b7ec4654e Merge branch 'aps-base' into aps 2021-04-02 09:13:16 -04:00
6e0c055222 Merge branch 'proxy' into aps-base 2021-04-02 09:06:48 -04:00
brian
7d0eadd920 Merge branch 'aps-persist-base' into aps-persist 2021-01-13 16:19:52 -05:00
912249c388 Merge branch 'aps-base' into aps-persist-base 2021-01-13 16:19:26 -05:00
brian
83c123de08 Merge branch 'aps' into aps-persist 2021-01-13 16:16:33 -05:00
brian
9dd046ad51 Merge branch 'aps-base' into aps 2021-01-13 16:16:27 -05:00
20b41bbcb1 corrected misspelling 2021-01-13 15:39:02 -05:00
6edb220093 Merge branch 'aps-persist-base' into aps-persist 2021-01-13 15:38:37 -05:00
8ccf85d170 Merge branch 'aps-base' into aps-persist-base 2021-01-13 15:37:41 -05:00
89348916a5 Merge branch 'aps-base' into aps 2021-01-13 15:37:13 -05:00
a2619fac7b fixed license directory var 2021-01-13 15:37:06 -05:00
70eb1fd7fb Merge branch 'aps-base' into aps-persist-base 2021-01-13 15:35:37 -05:00
d7ed2df85e moved store 2021-01-13 15:35:30 -05:00
3a47c43a88 Merge branch 'aps-base' into aps 2021-01-13 15:32:16 -05:00
16aa444b19 removed excess file mapping 2021-01-13 15:32:03 -05:00
7caee29b23 added persistence volumes 2021-01-13 15:30:34 -05:00
deb6bf058c Merge branch 'aps-base' into aps 2021-01-13 15:23:44 -05:00
8a0ccc61a5 backported some stuff from aps to aps-base 2021-01-13 15:22:30 -05:00
695e3b3dc0 fixed after testing 2021-01-13 15:20:03 -05:00
2b7755222b added versions and config to APS 2021-01-13 14:42:41 -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 81 additions and 191 deletions

11
.env
View File

@@ -4,14 +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
ACS_SHARE_TAG=7.4.1.2
ALF_SYNC_SERV_TAG=3.9.0
ADW_TAG=4.1.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,169 +1,97 @@
# 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:1.11.1.1
image: quay.io/alfresco/alfresco-content-repository:${ACS_TAG} mem_limit: 512m
environment: environment:
JAVA_TOOL_OPTIONS: " ACTIVITI_DATASOURCE_USERNAME: alfresco
-Dencryption.keystore.type=JCEKS ACTIVITI_DATASOURCE_PASSWORD: alfresco
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding ACTIVITI_DATASOURCE_DRIVER: org.postgresql.Driver
-Dencryption.keyAlgorithm=DESede ACTIVITI_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
-Dmetadata-keystore.password=mp6yc0UD9e ACTIVITI_ES_SERVER_TYPE: rest
-Dmetadata-keystore.aliases=metadata ACTIVITI_ES_REST_CLIENT_ADDRESS: search-aps
-Dmetadata-keystore.metadata.password=oKIWzVdEdA ACTIVITI_ES_REST_CLIENT_PORT: 9200
-Dmetadata-keystore.metadata.algorithm=DESede ACTIVITI_ES_REST_CLIENT_SCHEMA: http
" JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
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
-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
-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"
- apsbin-volume:/var/lib/postgresql/data:rw
transform-router: activiti-admin:
image: quay.io/alfresco/alfresco-transform-router:${ATR_TAG} image: alfresco/process-services-admin:1.11.1.1
mem_limit: 256m
environment: environment:
ACTIVEMQ_URL: "nio://activemq:61616" ACTIVITI_ADMIN_DATASOURCE_USERNAME: alfresco
CORE_AIO_URL : "http://transform-core-aio:8090" ACTIVITI_ADMIN_DATASOURCE_PASSWORD: alfresco
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" ACTIVITI_ADMIN_DATASOURCE_DRIVER: org.postgresql.Driver
ACTIVITI_ADMIN_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
ACTIVITI_ADMIN_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps-admin:5432/activiti-admin?characterEncoding=UTF-8'
ACTIVITI_ADMIN_REST_APP_HOST: http://activiti-app
ACTIVITI_ADMIN_REST_APP_PORT: 8080
JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
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:11.6
mem_limit: 256m
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"
depends_on:
- activemq
- shared-file-store
shared-file-store:
image: quay.io/alfresco/alfresco-shared-file-store:${ASFS_TAG}
volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs
share:
image: alfresco/alfresco-share:${ACS_SHARE_TAG}
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:${POSTGRES_TAG}
environment:
POSTGRES_PASSWORD: alfresco
POSTGRES_USER: alfresco POSTGRES_USER: alfresco
POSTGRES_DB: alfresco POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG command: postgres -c max_connections=300 -c log_min_messages=LOG
volumes:
- apsdb-volume:/var/lib/postgresql/data:rw
search: postgres-aps-admin:
image: alfresco/alfresco-search-services:${ASIE_TAG} image: postgres:11.6
mem_limit: 128m
environment: environment:
SOLR_ALFRESCO_HOST: platform POSTGRES_DB: activiti-admin
SOLR_SOLR_HOST: search POSTGRES_USER: alfresco
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive POSTGRES_PASSWORD: alfresco
ALFRESCO_SECURE_COMMS: secret command: postgres -c max_connections=50 -c log_min_messages=LOG
JAVA_TOOL_OPTIONS: " volumes:
-Dalfresco.secureComms.secret=alfresco-secret - apsadmindb-volume:/var/lib/postgresql/data:rw
"
healthcheck:
test: "curl -fsS http://localhost:8983/solr"
activemq: search-aps:
image: alfresco/alfresco-activemq:${AAMQ_TAG} image: elasticsearch:7.6.0
mem_limit: 512m
environment: environment:
ACTIVEMQ_OPTS_MEMORY: -Xms64m -Xmx256m discovery.type: single-node
ACTIVEMQ_ADMIN_LOGIN: alfresco ES_JAVA_OPTS: "-Xms128m -Xmx256m"
ACTIVEMQ_ADMIN_PASSWORD: alfresco ulimits:
memlock:
sync: soft: -1
image: quay.io/alfresco/service-sync:${ALF_SYNC_SERV_TAG} hard: -1
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: depends_on:
- postgres-acs - activiti-app
- activemq volumes:
- esindex-volume:/var/lib/postgresql/data:rw
digital-workspace:
image: quay.io/alfresco/alfresco-digital-workspace:${ADW_TAG}
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"
proxy: proxy:
build: ./nginx-ingress build: ./nginx-ingress
image: local/nginx-ingress:acs-sync-share-adw image: local/nginx-ingress:acs
ports: ports:
- 8080:8080 - 8080:8080
depends_on: depends_on:
- platform - activiti-app
- sync - activiti-admin
- share
- digital-workspace
volumes: volumes:
shared-file-store-volume: apsbin-volume:
driver_opts: driver: local
type: tmpfs apsdb-volume:
device: tmpfs driver: local
apsadmindb-volume:
driver: local
esindex-volume:
driver: local

View File

@@ -1,19 +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
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 fi
if [[ $ACCESS_LOG ]]; then if [[ $ACCESS_LOG ]]; then

View File

@@ -39,29 +39,18 @@ 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;
}
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) # If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off; absolute_redirect off;