Compare commits

..

35 Commits

Author SHA1 Message Date
29a71867f2 Merge branch 'aps-aims' into dbp-aims 2021-04-19 09:02:18 -04:00
1929c94880 configured aps for aims 2021-04-19 08:51:12 -04:00
c6c8b06331 Merge branch 'dbp' into dbp-aims 2021-04-19 08:31:35 -04:00
1bd9da2339 Merge remote-tracking branch 'origin/aims' into aps-aims 2021-04-19 08:24:15 -04:00
4afb1f3e20 Merge branch 'ags-aims-enterprise' into dbp-aims 2021-04-02 10:40:57 -04:00
f0fe828a44 Merge branch 'dbp' into dbp-aims 2021-04-02 10:40:10 -04:00
0ab7ab7a49 Merge remote-tracking branch 'origin/ags-frontend-enterprise' into ags-aims-enterprise 2021-04-02 10:38:09 -04:00
575aff046e Merge branch 'acs-aims-enterprise' into ags-aims-enterprise 2021-04-02 10:38:02 -04:00
18d337ffa0 Merge branch 'acs-frontend-enterprise' into acs-aims-enterprise 2021-04-02 10:37:36 -04:00
942bce286d Merge branch 'ags-aims-enterprise' into dbp-aims 2021-04-02 10:28:01 -04:00
7d3d00edb2 Merge remote-tracking branch 'origin/ags-frontend-enterprise' into ags-aims-enterprise 2021-04-02 09:32:35 -04:00
33035fb718 Merge branch 'acs-aims-enterprise' into ags-aims-enterprise 2021-04-02 09:32:07 -04:00
ce372ad731 Merge branch 'acs-aims' into acs-aims-enterprise 2021-04-02 09:31:27 -04:00
75476c4d4e Merge remote-tracking branch 'origin/acs-frontend-enterprise' into acs-aims-enterprise 2021-04-02 09:31:11 -04:00
brian
d15d9d291c Merge branch 'aims' into acs-aims 2021-04-02 09:21:23 -04:00
brian
ec79404d1c Merge branch 'acs-frontend' into acs-aims 2021-04-02 09:21:23 -04:00
brian
f23cda3fd1 Merge branch 'proxy' into aims 2021-04-02 09:12:59 -04:00
192bd41c1a Merge remote-tracking branch 'origin/ags-frontend-enterprise' into ags-aims-enterprise 2021-01-14 14:26:04 -05:00
brian
c76e745e2d Merge branch 'acs-aims' into acs-aims-enterprise 2021-01-14 11:41:14 -05:00
brian
fd79be4aed Merge branch 'aims' into acs-aims 2021-01-14 11:41:09 -05:00
b4be2e251c changed admin username ot alfresco defaults 2021-01-14 11:40:42 -05:00
dc236b7550 added sync/adw config after testing 2021-01-14 11:20:05 -05:00
d87935cd44 Merge branch 'acs-aims' into acs-aims-enterprise 2021-01-14 11:19:10 -05:00
0be038fe07 added acs platform/share AIMS config after testing 2021-01-14 11:19:01 -05:00
25d0633fdb Merge branch 'aims' into acs-aims 2021-01-14 11:17:08 -05:00
44b6f26f4f updates after some acs-enterprise testing 2021-01-14 11:17:01 -05:00
a388c1d2fb Merge branch 'acs-aims' into acs-aims-enterprise 2021-01-14 09:41:20 -05:00
ca420b43e2 added aims config to platform/share 2021-01-14 09:40:28 -05:00
8be7673ad3 Merge branch 'aims' into acs-aims 2021-01-14 09:39:54 -05:00
b124cd027c added default admin.1 user 2021-01-14 09:39:34 -05:00
af39f367b6 Merge branch 'acs-frontend-enterprise' into acs-aims-enterprise 2021-01-13 20:55:01 -05:00
brian
00335f5795 Merge branch 'acs-frontend-enterprise' into acs-aims-enterprise 2021-01-13 17:38:59 -05:00
8aa7067286 Merge remote-tracking branch 'origin/acs-frontend-enterprise' into acs-aims-enterprise 2021-01-13 17:22:01 -05:00
77f2c5e0f1 Merge branch 'aims' into acs-aims 2021-01-13 17:15:32 -05:00
919d842d61 added identity service 2021-01-13 17:01:06 -05:00
6 changed files with 210 additions and 80 deletions

13
.env
View File

@@ -4,15 +4,4 @@ ALFRESCO_LICENSE_DIR=~/alfresco/license
PROXY_PROTOCOL=http
PROXY_HOST=localhost
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
APS_TAG=2.4.1
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
IDENTITY_SERVICE_BASEURL=http://auth.example.org:8080

View File

@@ -3,14 +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}`.
## 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`.
### APS
APS requires a license file for it to work. 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/aps`. The filename must be `activiti.lic`. You can use symbolic linking if desired.

View File

@@ -1,32 +1,22 @@
# 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:
platform:
image: quay.io/alfresco/alfresco-governance-repository-enterprise:${ACS_TAG}
image: quay.io/alfresco/alfresco-governance-repository-enterprise:V3.4-latest
mem_limit: 1700m
environment:
JAVA_TOOL_OPTIONS: "
-Dencryption.keystore.type=JCEKS
-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
-Dsolr.port=8983
-Dsolr.secureComms=none
-Dshare.host=${PROXY_HOST}
-Dshare.port=${PROXY_PORT}
-Dshare.protocol=${PROXY_PROTOCOL}
@@ -36,18 +26,32 @@ services:
-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
-Dcors.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
-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
-Dauthentication.chain=aims:identity-service,builtin:alfrescoNtlm
-Didentity-service.authentication.defaultAdministratorUserNames=admin.1
-Didentity-service.auth-server-url=${IDENTITY_SERVICE_BASEURL}/auth
-Dsystem.content.eagerOrphanCleanup=true
-Dsystem.content.orphanProtectDays=0
-Djodconverter.enabled=false
@@ -60,7 +64,7 @@ services:
- "$ALFRESCO_LICENSE_DIR/acs:/usr/local/tomcat/shared/classes/alfresco/extension/license:ro"
transform-router:
image: quay.io/alfresco/alfresco-transform-router:${ATR_TAG}
image: quay.io/alfresco/alfresco-transform-router:1.3.1
environment:
ACTIVEMQ_URL: "nio://activemq:61616"
CORE_AIO_URL : "http://transform-core-aio:8090"
@@ -70,7 +74,7 @@ services:
- shared-file-store
transform-core-aio:
image: alfresco/alfresco-transform-core-aio:${ATE_AIO_TAG}
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"
@@ -79,12 +83,13 @@ services:
- shared-file-store
shared-file-store:
image: quay.io/alfresco/alfresco-shared-file-store:${ASFS_TAG}
image: alfresco/alfresco-shared-file-store:0.10.0
volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs
share:
image: quay.io/alfresco/alfresco-governance-share-enterprise:${ACS_SHARE_TAG}
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})?/?.*"
@@ -96,41 +101,47 @@ services:
-Dalfresco.host=${PROXY_HOST}
-Dalfresco.port=${PROXY_PORT}
-Dalfresco.protocol=${PROXY_PROTOCOL}
-Daims.enabled=true
-Daims.realm=alfresco
-Daims.resource=acs-share
-Daims.authServerUrl=${IDENTITY_SERVICE_BASEURL}/auth
-Daims.sslRequired=none
-Daims.publicClient=true
-Daims.autodetectBearerOnly=true
-Daims.alwaysRefreshToken=true
-Daims.principalAttribute=preferred_username
-Daims.enableBasicAuth=true
"
postgres-acs:
image: postgres:${POSTGRES_TAG}
image: postgres:11.7
mem_limit: 512m
environment:
POSTGRES_PASSWORD: alfresco
POSTGRES_USER: alfresco
POSTGRES_DB: alfresco
- 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}
image: alfresco/alfresco-search-services:2.0.1
mem_limit: 2g
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"
- 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:${AAMQ_TAG}
environment:
ACTIVEMQ_OPTS_MEMORY: -Xms64m -Xmx256m
ACTIVEMQ_ADMIN_LOGIN: alfresco
ACTIVEMQ_ADMIN_PASSWORD: alfresco
image: alfresco/alfresco-activemq:5.15.8
mem_limit: 256m
sync:
image: quay.io/alfresco/service-sync:${ALF_SYNC_SERV_TAG}
image: quay.io/alfresco/service-sync:3.3.3.1
mem_limit: 512m
environment:
JAVA_OPTS : "
-Xms64m -Xmx256m
-Dsql.db.driver=org.postgresql.Driver
-Dsql.db.url=jdbc:postgresql://postgres-acs:5432/alfresco
-Dsql.db.username=alfresco
@@ -139,34 +150,52 @@ services:
-Drepo.hostname=platform
-Drepo.port=8080
-Ddw.server.applicationConnectors[0].type=http
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
-Didentity-service.auth-server-url=${IDENTITY_SERVICE_BASEURL}/auth
-Didentity-service.resource=acs-sync
"
depends_on:
- postgres-acs
- activemq
digital-workspace:
image: quay.io/alfresco/alfresco-digital-workspace:${ADW_TAG}
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"
APP_CONFIG_AUTH_TYPE: OAUTH
APP_CONFIG_OAUTH2_HOST: "${IDENTITY_SERVICE_BASEURL}/auth/realms/alfresco"
APP_CONFIG_OAUTH2_CLIENTID: alfresco
APP_CONFIG_OAUTH2_IMPLICIT_FLOW: "true"
APP_CONFIG_OAUTH2_REDIRECT_LOGIN: "/workspace/"
APP_CONFIG_OAUTH2_REDIRECT_LOGOUT: "/workspace/logout"
activiti-app:
image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
image: alfresco/process-services:1.11.1.1
mem_limit: 512m
environment:
ACTIVITI_DATASOURCE_USERNAME: alfresco
ACTIVITI_DATASOURCE_PASSWORD: alfresco
ACTIVITI_DATASOURCE_DRIVER: org.postgresql.Driver
ACTIVITI_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
JAVA_OPTS: "-Xms128m -Xmx256m"
ACTIVITI_ES_SERVER_TYPE: rest
ACTIVITI_ES_REST_CLIENT_ADDRESS: search-aps
ACTIVITI_ES_REST_CLIENT_PORT: 9200
ACTIVITI_ES_REST_CLIENT_SCHEMA: http
IDENTITY_SERVICE_ENABLED: "true"
IDENTITY_SERVICE_AUTH: $IDENTITY_SERVICE_BASEURL/auth
JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
depends_on:
- postgres-aps
volumes:
- "$ALFRESCO_LICENSE_DIR/aps:/home/alfresco/.activiti/enterprise-license:ro"
- "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
activiti-admin:
image: quay.io/alfresco/alfresco-process-services-admin:${APS_TAG}
image: alfresco/process-services-admin:1.11.1.1
mem_limit: 256m
environment:
ACTIVITI_ADMIN_DATASOURCE_USERNAME: alfresco
ACTIVITI_ADMIN_DATASOURCE_PASSWORD: alfresco
@@ -175,13 +204,14 @@ services:
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: "-Xms64m -Xmx128m"
JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
depends_on:
- postgres-aps-admin
- activiti-app
postgres-aps:
image: postgres:${POSTGRES_TAG}
image: postgres:11.6
mem_limit: 256m
environment:
POSTGRES_DB: activiti
POSTGRES_USER: alfresco
@@ -189,16 +219,46 @@ services:
command: postgres -c max_connections=300 -c log_min_messages=LOG
postgres-aps-admin:
image: postgres:${POSTGRES_TAG}
image: postgres:11.6
mem_limit: 128m
environment:
POSTGRES_DB: activiti-admin
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=50 -c log_min_messages=LOG
search-aps:
image: elasticsearch:7.6.0
mem_limit: 512m
environment:
discovery.type: single-node
ES_JAVA_OPTS: "-Xms128m -Xmx256m"
ulimits:
memlock:
soft: -1
hard: -1
depends_on:
- activiti-app
identity:
image: alfresco/alfresco-identity-service:1.3
user: jboss
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
KEYCLOAK_HOSTNAME: auth.example.org
KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json
KEYCLOAK_STATISTICS: enabled
networks:
default:
aliases:
- "auth.example.org"
volumes:
- ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
proxy:
build: ./nginx-ingress
image: local/nginx-ingress:acs-sync-share-adw-aps
image: local/nginx-ingress:acs-sync-share-adw-aps-aims
ports:
- 8080:8080
depends_on:
@@ -208,6 +268,7 @@ services:
- digital-workspace
- activiti-app
- activiti-admin
- identity
volumes:
shared-file-store-volume:

View File

@@ -0,0 +1,80 @@
{
"realm": "alfresco",
"enabled": true,
"sslRequired": "external",
"registrationAllowed": false,
"roles": {
"realm": [ {
"name": "user",
"description": "User privileges"
}, {
"name": "admin",
"description": "Administrator privileges"
} ]
},
"clients": [
{
"clientId": "alfresco",
"name": "Alfresco Products",
"enabled": true,
"alwaysDisplayInConsole": false,
"redirectUris": [ "*" ],
"standardFlowEnabled": true,
"implicitFlowEnabled": true,
"directAccessGrantsEnabled": false,
"publicClient": true,
"protocol": "openid-connect",
"attributes": {
"login_theme": "alfresco"
}
},
{
"clientId": "acs-share",
"name": "ACS Share",
"enabled": true,
"alwaysDisplayInConsole": false,
"redirectUris": [ "*" ],
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"publicClient": true,
"protocol": "openid-connect",
"attributes": {
"login_theme": "alfresco"
}
},
{
"clientId": "acs-sync",
"name": "Alfresco Sync Service Clients",
"enabled": true,
"alwaysDisplayInConsole": false,
"redirectUris": [
"http://127.0.0.1*",
"http://localhost*"
],
"standardFlowEnabled": true,
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"publicClient": true,
"protocol": "openid-connect",
"attributes": {
"login_theme": "alfresco"
}
}
],
"requiredCredentials": [ "password" ],
"users": [
{
"username": "admin",
"email": "admin@app.activiti.com",
"enabled": true,
"credentials" : [
{
"type" : "password",
"value" : "admin"
}
],
"realmRoles": [ "user", "admin" ]
}
]
}

View File

@@ -24,6 +24,10 @@ if [[ $APS_ADMIN_URL ]]; then
sed -i s%http:\/\/activiti-admin:8080%"$APS_ADMIN_URL"%g /etc/nginx/nginx.conf
fi
if [[ $AIMS_URL ]]; then
sed -i s%http:\/\/identity:8080%"$AIMS_URL"%g /etc/nginx/nginx.conf
fi
if [[ $ACCESS_LOG ]]; then
sed -i s%\#ENV_ACCESS_LOG%"access_log $ACCESS_LOG;"%g /etc/nginx/nginx.conf
fi

View File

@@ -19,7 +19,10 @@ http {
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
# proxy_buffering off;
proxy_buffer_size 64k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -69,9 +72,6 @@ http {
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/ {
@@ -80,5 +80,12 @@ http {
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
location /auth/ {
proxy_pass http://identity:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
}
}