Compare commits

..

24 Commits

Author SHA1 Message Date
brian
24de207c37 Merge branch 'acs-frontend-persist' into acs-mysql-frontend-persist 2021-04-02 09:21:32 -04:00
brian
f84b973c60 Merge branch 'acs-mysql' into acs-mysql-frontend-persist 2021-04-02 09:21:29 -04:00
brian
20ff424c6a Merge branch 'acs-frontend' into acs-frontend-persist 2021-04-02 09:21:20 -04:00
brian
5925d0dada Merge branch 'acs-backend-persist' into acs-frontend-persist 2021-04-02 09:21:19 -04:00
brian
07e0d14f42 Merge branch 'acs-mysql-base' into acs-mysql 2021-04-02 09:14:14 -04:00
brian
94a2a3a259 Merge branch 'acs' into acs-mysql 2021-04-02 09:14:13 -04:00
brian
dc3e42c872 Merge branch 'acs-base' into acs-mysql-base 2021-04-02 09:13:36 -04:00
b57a70a983 Merge branch 'acs-mysql' into acs-mysql-frontend-persist 2021-01-11 22:53:11 -05:00
b59eae3b5f Merge branch 'acs' into acs-mysql 2021-01-11 22:47:08 -05:00
7afbf14209 Merge branch 'acs-mysql.acs' into acs-mysql-frontend-persist.acs-mysql 2021-01-11 13:59:51 -05:00
79566e47de Merge branch 'acs-frontend-persist.acs-backend-persist' into acs-mysql-frontend-persist.acs-frontend-persist 2021-01-11 13:57:47 -05:00
dc3dd8ca74 Merge branch 'acs-mysql-base.acs-base' into acs-mysql.acs-mysql-base 2021-01-06 16:00:28 -05:00
ae7b02d6ea Merge branch 'acs-base.proxy' into acs-mysql-base.acs-base 2021-01-06 15:56:41 -05:00
395cc67cc0 Merge branch 'acs-frontend-community-persist.acs-backend-community-persist' into acs-mysql-frontend-community-persist.acs-frontend-community-persist 2020-12-26 15:17:45 -05:00
b0fc0970aa Merge branch 'acs-mysql-community.acs-community' into acs-mysql-frontend-community-persist.acs-mysql-community 2020-12-26 14:38:27 -05:00
ab342d698a Merge branch 'acs-frontend-community-persist.acs-backend-community-persist' into acs-mysql-frontend-community-persist.acs-frontend-community-persist 2020-12-26 14:36:34 -05:00
82b58f638c Merge branch 'acs-community.acs-base' into acs-mysql-community.acs-community 2020-12-26 13:58:35 -05:00
5b65b4817e Merge branch 'acs-base.proxy' into acs-mysql-base.acs-base 2020-12-26 13:57:17 -05:00
5a929f6317 Merge branch 'acs-community.acs-base' into acs-mysql-community.acs-community 2020-12-26 13:39:03 -05:00
f66e9aa1e8 replaced postgresql with mysql 2020-12-26 11:25:37 -05:00
cf7e16fdcc Merge branch 'acs-frontend-community-persist.acs-backend-community-persist' into mysql.acs-frontend-community-persist 2020-12-26 00:07:39 -05:00
2071957b17 fixed mysql JDBC URL 2020-12-25 15:12:10 -05:00
f61ee9d7dc fixed JDBC for mysql 2020-12-21 14:45:50 -05:00
b01b78f842 switch from postgresql to mysql 2020-12-21 13:57:03 -05:00
5 changed files with 24 additions and 372 deletions

3
.env
View File

@@ -4,6 +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
IDENTITY_SERVICE_PROTOCOL=http
IDENTITY_SERVICE_HOST=auth.example.org
IDENTITY_SERVICE_PORT=8080

View File

@@ -1,18 +1,18 @@
# 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
# #
# Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose # Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose
version: "2.1" version: "2"
services: services:
platform: platform:
image: quay.io/alfresco/alfresco-governance-repository-enterprise:V3.4-latest image: alfresco/alfresco-content-repository-community:6.2.0-ga
mem_limit: 2g mem_limit: 1700m
environment: environment:
JAVA_OPTS: " JAVA_OPTS: "
-Ddb.driver=org.postgresql.Driver -Ddb.driver=com.mysql.jdbc.Driver
-Ddb.username=alfresco -Ddb.username=alfresco
-Ddb.password=alfresco -Ddb.password=alfresco
-Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco -Ddb.url=jdbc:mysql://mysql-acs:3306/alfresco?useUnicode=yes\\&characterEncoding=UTF-8\\&useSSL=false
-Dindex.subsystem.name=solr6 -Dindex.subsystem.name=solr6
-Dsolr.host=search -Dsolr.host=search
-Dsolr.port=8983 -Dsolr.port=8983
@@ -35,69 +35,24 @@ services:
-Dcsrf.filter.enabled=false -Dcsrf.filter.enabled=false
-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
-Dtransform.service.enabled=true -Dtransform.service.enabled=false
-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
-Dauthentication.chain=aims:identity-service,builtin:alfrescoNtlm
-Didentity-service.authentication.defaultAdministratorUserNames=admin.1
-Didentity-service.auth-server-url=${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
-Dsystem.content.eagerOrphanCleanup=true -Dsystem.content.eagerOrphanCleanup=true
-Dsystem.content.orphanProtectDays=0 -Dsystem.content.orphanProtectDays=0
-Djodconverter.enabled=false -Djodconverter.enabled=false
" "
depends_on: depends_on:
postgres-acs: - mysql-acs
condition: service_started
activemq:
condition: service_started
shared-file-store:
condition: service_started
identity:
condition: service_healthy
volumes:
- "$ALFRESCO_LICENSE_DIR/acs:/usr/local/tomcat/shared/classes/alfresco/extension/license:ro"
- acsbin-volume:/usr/local/tomcat/alf_data:rw
transform-router:
image: quay.io/alfresco/alfresco-transform-router:1.3.1
mem_limit: 128m
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 - activemq
- shared-file-store volumes:
- acsbin-volume:/usr/local/tomcat/alf_data:rw
- /usr/share/java/mysql.jar:/usr/local/tomcat/lib/mysql.jar:ro
transform-core-aio: transform-core-aio:
image: alfresco/alfresco-transform-core-aio:2.3.6 image: alfresco/alfresco-transform-core-aio:2.3.6
mem_limit: 1g
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
mem_limit: 256m
volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs
share: share:
image: quay.io/alfresco/alfresco-governance-share-enterprise:V3.4-latest image: alfresco/alfresco-share:6.2.2
mem_limit: 512m mem_limit: 512m
environment: environment:
REPO_HOST: "platform" REPO_HOST: "platform"
@@ -110,32 +65,22 @@ services:
-Dalfresco.host=${PROXY_HOST} -Dalfresco.host=${PROXY_HOST}
-Dalfresco.port=${PROXY_PORT} -Dalfresco.port=${PROXY_PORT}
-Dalfresco.protocol=${PROXY_PROTOCOL} -Dalfresco.protocol=${PROXY_PROTOCOL}
-Daims.enabled=true
-Daims.realm=alfresco
-Daims.resource=acs-share
-Daims.authServerUrl=${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
-Daims.sslRequired=none
-Daims.publicClient=true
-Daims.autodetectBearerOnly=true
-Daims.alwaysRefreshToken=true
-Daims.principalAttribute=preferred_username
-Daims.enableBasicAuth=true
" "
postgres-acs: mysql-acs:
image: postgres:11.7 image: mysql:5.7
mem_limit: 128m mem_limit: 512m
environment: environment:
- POSTGRES_PASSWORD=alfresco - MYSQL_RANDOM_ROOT_PASSWORD=true
- POSTGRES_USER=alfresco - MYSQL_PASSWORD=alfresco
- POSTGRES_DB=alfresco - MYSQL_USER=alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG - MYSQL_DATABASE=alfresco
volumes: volumes:
- acsdb-volume:/var/lib/postgresql/data:rw - acsdb-volume:/var/lib/mysql:rw
search: search:
image: alfresco/alfresco-search-services:2.0.1 image: alfresco/alfresco-search-services:2.0.1
mem_limit: 1g mem_limit: 2g
environment: environment:
- SOLR_ALFRESCO_HOST=platform - SOLR_ALFRESCO_HOST=platform
- SOLR_ALFRESCO_PORT=8080 - SOLR_ALFRESCO_PORT=8080
@@ -148,169 +93,20 @@ services:
activemq: activemq:
image: alfresco/alfresco-activemq:5.15.8 image: alfresco/alfresco-activemq:5.15.8
mem_limit: 512m mem_limit: 256m
volumes: volumes:
- activemq-volume:/opt/activemq/data:rw - activemq-volume:/opt/activemq/data:rw
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
-Didentity-service.auth-server-url=${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
-Didentity-service.resource=acs-sync
"
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_CONFIG_BPM_HOST: "${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}"
APP_BASE_SHARE_URL: "${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/workspace/#/preview/s"
APP_CONFIG_PROVIDER: "ALL"
APP_CONFIG_PLUGIN_PROCESS_SERVICE: "true"
#APP_CONFIG_PLUGIN_PROCESS_AUTOMATION: "true"
APP_CONFIG_AUTH_TYPE: OAUTH
APP_CONFIG_OAUTH2_HOST: "${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/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: 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'
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_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
IDENTITY_SERVICE_CONTENT_SSO_REDIRECT_URI: ${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/activiti-app/app/rest/integration/sso/confirm-auth-request
JAVA_OPTS: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
depends_on:
- postgres-aps
volumes:
- "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
- apsbin-volume:/var/lib/postgresql/data:rw
activiti-admin:
image: alfresco/process-services-admin:1.11.1.1
mem_limit: 256m
environment:
ACTIVITI_ADMIN_DATASOURCE_USERNAME: alfresco
ACTIVITI_ADMIN_DATASOURCE_PASSWORD: alfresco
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:
- postgres-aps-admin
- activiti-app
postgres-aps:
image: postgres:11.6
mem_limit: 128m
environment:
POSTGRES_DB: activiti
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG
volumes:
- apsdb-volume:/var/lib/postgresql/data:rw
postgres-aps-admin:
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
volumes:
- apsadmindb-volume:/var/lib/postgresql/data:rw
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
volumes:
- esindex-volume:/var/lib/postgresql/data:rw
identity:
image: alfresco/alfresco-identity-service:1.4.0
mem_limit: 512m
user: jboss
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
KEYCLOAK_HOSTNAME: ${IDENTITY_SERVICE_HOST}
KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json
KEYCLOAK_STATISTICS: enabled
networks:
default:
aliases:
- "${IDENTITY_SERVICE_HOST}"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/auth/realms/alfresco"]
interval: 10s
timeout: 10s
# Really long startup times on Windows
retries: 18
volumes:
- ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
- keycloak-volume:/opt/jboss/keycloak/standalone/data:rw
proxy: proxy:
build: ./nginx-ingress build: ./nginx-ingress
image: local/nginx-ingress:acs-sync-share-adw-aps-aims image: local/nginx-ingress:acs-share
mem_limit: 256m
ports: ports:
- 8080:8080 - 8080:8080
depends_on: depends_on:
- platform - platform
- sync
- share - share
- digital-workspace
- activiti-app
- activiti-admin
- identity
volumes: volumes:
shared-file-store-volume:
driver_opts:
type: tmpfs
device: tmpfs
acsbin-volume: acsbin-volume:
driver: local driver: local
acsdb-volume: acsdb-volume:
@@ -319,13 +115,4 @@ volumes:
driver: local driver: local
solrindex-volume: solrindex-volume:
driver: local driver: local
apsbin-volume:
driver: local
apsdb-volume:
driver: local
apsadmindb-volume:
driver: local
esindex-volume:
driver: local
keycloak-volume:
driver: local

View File

@@ -1,80 +0,0 @@
{
"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

@@ -4,30 +4,10 @@ if [[ $ACS_PLATFORM_URL ]]; then
sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf
fi 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 if [[ $ACS_SHARE_URL ]]; then
sed -i s%http:\/\/share:8080%"$ACS_SHARE_URL"%g /etc/nginx/nginx.conf sed -i s%http:\/\/share:8080%"$ACS_SHARE_URL"%g /etc/nginx/nginx.conf
fi 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
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 if [[ $ACCESS_LOG ]]; then
sed -i s%\#ENV_ACCESS_LOG%"access_log $ACCESS_LOG;"%g /etc/nginx/nginx.conf sed -i s%\#ENV_ACCESS_LOG%"access_log $ACCESS_LOG;"%g /etc/nginx/nginx.conf
fi fi

View File

@@ -19,10 +19,7 @@ http {
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off; 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 Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -52,37 +49,8 @@ http {
absolute_redirect off; absolute_redirect off;
} }
location /sync/ {
proxy_pass http://sync:9090/alfresco/;
}
location /activiti-app/ {
proxy_pass http://activiti-app:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
location /activiti-admin/ {
proxy_pass http://activiti-admin:8080;
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
location /share/ { location /share/ {
proxy_pass http://share:8080; proxy_pass http://share:8080;
}
location /workspace/ {
proxy_pass http://digital-workspace:8080/;
# 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) # If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off; absolute_redirect off;