Compare commits

..
Author SHA1 Message Date
brian.long 5ff54e221c Merge branch 'aps-persist' into aps-search-persist 2023-10-26 14:20:45 -04:00
brian.long de1b8a0bcc Merge branch 'aps-search' into aps-search-persist 2023-10-26 14:20:24 -04:00
brian.long afa845b893 Merge branch 'aps' into aps-persist 2023-10-26 14:20:07 -04:00
brian.long 73424b9bd9 Merge branch 'aps' into aps-search 2023-10-26 14:17:06 -04:00
brian.long 76f18e1a60 Merge branch 'aps-base' into aps 2023-10-26 14:14:33 -04:00
brian.long 6aa3731165 removed mem_limit from proxy 2023-10-26 14:14:26 -04:00
brian.long 82864c1955 added license file README 2023-10-26 08:52:41 -04:00
brian.long 32255b7f48 added elasticsearch persistence 2023-10-25 19:31:15 -04:00
brian.long 607590c1dd Merge branch 'aps-search' into aps-search-persist 2023-10-25 19:30:12 -04:00
brian.long bf4879e466 Merge branch 'aps-persist-base' into aps-persist 2023-10-25 18:50:49 -04:00
brian.long 3a6d3b1c1e Merge branch 'aps-base' into aps-persist-base 2023-10-25 18:49:43 -04:00
brian.long 944397b02c removed aps-search 2023-10-25 18:48:58 -04:00
brian.long 7fedfed6cd Merge branch 'aps-search-base' into aps-search 2023-10-25 18:46:54 -04:00
brian.long eb8df1a86f fixed aps-search dependency 2023-10-25 18:46:40 -04:00
brian.long e30247ead5 Merge branch 'aps-search-base' into aps-search 2023-10-25 18:45:34 -04:00
brian.long 8901d10f82 Merge branch 'aps-base' into aps 2023-10-25 18:39:33 -04:00
brian.long 3fee42cd28 elasticsearch v.7.17.13 2023-10-25 18:37:26 -04:00
brian.long 25e6137de9 Revert "removed elasticsearch"
This reverts commit fc8a854920.
2023-10-25 18:34:37 -04:00
brian.long e0e190d987 APS v2.4.1 2023-10-25 18:33:38 -04:00
brian.long fc8a854920 removed elasticsearch 2023-10-25 18:32:39 -04:00
brian.long 7e526e0e1e Merge branch 'proxy' into aps-base 2023-10-25 18:29:28 -04:00
brian.long 241a3e47ea Merge branch 'base' into proxy 2023-10-25 18:07:00 -04:00
brian.long c2a9679ede update comment 2023-10-25 18:05:39 -04:00
brian.long 17738d0a96 Merge branch 'aps' into aps-persist 2022-11-01 17:17:46 -04:00
brian.long 64708232c4 Merge branch 'aps-persist-base' into aps-persist 2022-11-01 17:17:08 -04:00
brian.long 4e85d8118c fixed APS license location 2022-11-01 17:14:49 -04:00
brian.long 1279c5aeba Merge branch 'aps-base' into aps 2022-11-01 17:09:22 -04:00
brian.long 3c1796b0b4 Merge branch 'aps-base' into aps-persist-base 2022-11-01 17:06:51 -04:00
brian.long dd967a17f2 parameterized APS versions 2022-11-01 17:06:07 -04:00
brian.long 27a818fd22 Merge branch 'proxy' into aps-base 2022-11-01 17:00:56 -04:00
brian.long 9e1a819e8b Merge branch 'base' into proxy 2022-11-01 14:48:11 -04:00
brian.long 10e7f81163 advancing to docker v3 2022-11-01 14:46:58 -04:00
brian.long 604ed69bb3 Merge branch 'aps' into aps-persist 2021-07-30 16:33:24 -04:00
brian.long dee72646e6 updated APS memory limit mins 2021-07-30 16:32:57 -04:00
brian.long 2ed89fa708 Merge branch 'aps-persist-base' into aps-persist 2021-04-19 08:27:38 -04:00
brian.long bcdd5e0525 Merge branch 'aps-base' into aps-persist-base 2021-04-19 08:26:57 -04:00
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 7d0eadd920 Merge branch 'aps-persist-base' into aps-persist 2021-01-13 16:19:52 -05:00
brian.long 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.long 6edb220093 Merge branch 'aps-persist-base' into aps-persist 2021-01-13 15:38:37 -05:00
brian.long 8ccf85d170 Merge branch 'aps-base' into aps-persist-base 2021-01-13 15:37:41 -05:00
brian.long 70eb1fd7fb Merge branch 'aps-base' into aps-persist-base 2021-01-13 15:35:37 -05:00
brian.long d7ed2df85e moved store 2021-01-13 15:35:30 -05:00
brian.long 7caee29b23 added persistence volumes 2021-01-13 15:30:34 -05:00
6 changed files with 40 additions and 349 deletions
+4 -1
View File
@@ -4,4 +4,7 @@ ALFRESCO_LICENSE_DIR=~/alfresco/license
PROXY_PROTOCOL=http
PROXY_HOST=localhost
PROXY_PORT=8080
IDENTITY_SERVICE_BASEURL=http://auth.example.org:8080
APS_TAG=2.4.1
POSTGRES_TAG=13
ELASTICSEARCH_TAG=7.17.13
+7
View File
@@ -3,3 +3,10 @@
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.
### 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.
+27 -214
View File
@@ -1,180 +1,11 @@
# Sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml
# Originally 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
version: "2"
version: "3"
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
-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
"
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
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}
-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: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
-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: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: alfresco/process-services:1.11.1.1
mem_limit: 512m
image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
environment:
ACTIVITI_DATASOURCE_USERNAME: alfresco
ACTIVITI_DATASOURCE_PASSWORD: alfresco
@@ -185,17 +16,16 @@ services:
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"
JAVA_OPTS: "-Xms128m -Xmx256m"
depends_on:
- postgres-aps
- search-aps
volumes:
- "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
- "$ALFRESCO_LICENSE_DIR/aps:/home/alfresco/.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
image: quay.io/alfresco/alfresco-process-services-admin:${APS_TAG}
environment:
ACTIVITI_ADMIN_DATASOURCE_USERNAME: alfresco
ACTIVITI_ADMIN_DATASOURCE_PASSWORD: alfresco
@@ -204,74 +34,57 @@ 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: "-XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
JAVA_OPTS: "-Xms64m -Xmx128m"
depends_on:
- postgres-aps-admin
- activiti-app
postgres-aps:
image: postgres:11.6
mem_limit: 256m
image: postgres:${POSTGRES_TAG}
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
image: postgres:${POSTGRES_TAG}
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
image: elasticsearch:${ELASTICSEARCH_TAG}
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
- esindex-volume:/var/lib/postgresql/data:rw
proxy:
build: ./nginx-ingress
image: local/nginx-ingress:acs-sync-share-adw-aps-aims
image: local/nginx-ingress:aps
ports:
- 8080:8080
depends_on:
- platform
- sync
- share
- digital-workspace
- activiti-app
- activiti-admin
- identity
volumes:
shared-file-store-volume:
driver_opts:
type: tmpfs
device: tmpfs
apsbin-volume:
driver: local
apsdb-volume:
driver: local
apsadmindb-volume:
driver: local
esindex-volume:
driver: local
-80
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" ]
}
]
}
-20
View File
@@ -1,21 +1,5 @@
#!/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
@@ -24,10 +8,6 @@ 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
+2 -34
View File
@@ -19,10 +19,7 @@ http {
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
# proxy_buffering off;
proxy_buffer_size 64k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_buffering off;
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;
@@ -42,18 +39,7 @@ http {
location ~ ^(/.*/s/prometheus)$ {return 403;}
location / {
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/;
return 301 $scheme://$http_host/activiti-app;
}
location /activiti-app/ {
@@ -69,23 +55,5 @@ http {
# If using external proxy / load balancer (for initial redirect if no trailing slash)
absolute_redirect off;
}
location /share/ {
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)
absolute_redirect off;
}
}
}