Compare commits
450 Commits
base
...
ags-aims-e
Author | SHA1 | Date | |
---|---|---|---|
650e7201b1 | |||
d8b4c89fd0 | |||
48859f80ee | |||
6f1acad7b6 | |||
aa2aceb8ed | |||
faa633c46c | |||
72026e2ad2 | |||
ab44e01638 | |||
b3c89aa9ce | |||
fbda2bcdde | |||
293d5cdf36 | |||
d7c7ba0c69 | |||
a6797d5550 | |||
b211d1ea8a | |||
d6149bc87e | |||
8462b9dbe2 | |||
2ec9112310 | |||
3be3cb0671 | |||
1149792321 | |||
d23afd274c | |||
c088f81a2b | |||
5fc2127922 | |||
31a89f370d | |||
5843c64876 | |||
f81076d26d | |||
2aa2cf6f64 | |||
0949d12d8f | |||
1b23093930 | |||
91e13fa81a | |||
0b18c583da | |||
40dd43068d | |||
c0878c27f0 | |||
231f11ea05 | |||
bae1c47984 | |||
3581872511 | |||
bcf68b4027 | |||
885e53df2a | |||
f456bb7ea9 | |||
df452d73a0 | |||
aa136e1f2f | |||
10f1a9f359 | |||
f90259eae9 | |||
544029478a | |||
854bd252e2 | |||
9a0a428bbd | |||
1732253d8f | |||
350380fb3d | |||
9427e0e1cb | |||
61ef62ecb1 | |||
5429c03548 | |||
fa90205f6f | |||
3d4f0640ab | |||
8a53f02159 | |||
51e5b376c1 | |||
37ec00fd9d | |||
3a967c28d6 | |||
df81075066 | |||
890f8ac11a | |||
1f1e10cd9c | |||
3202dc9e51 | |||
aa6c6e54b6 | |||
f5b11e4a48 | |||
a52eb3403f | |||
38b5f8dc36 | |||
664a47f49c | |||
020c4822fd | |||
105b34664a | |||
59c87eb302 | |||
8c875fe850 | |||
c3880ac43d | |||
a1bd61bdde | |||
b17f702f05 | |||
c3f695ae8b | |||
415994f1f3 | |||
9a93ec369c | |||
81ca2ed038 | |||
51b777c0c5 | |||
23b3057329 | |||
b009fa9219 | |||
f5c4b00a02 | |||
9e4577222b | |||
ef221d9c7a | |||
57af0a20b1 | |||
76e4287aa1 | |||
9afc703a2c | |||
416fe88c6b | |||
2b14374993 | |||
a4cfbd0b14 | |||
241a3e47ea | |||
4988944cad | |||
2560dcf1c8 | |||
5109b34641 | |||
cd1d2e08b7 | |||
9114da403b | |||
8e6eb7ae72 | |||
ff3554c0ce | |||
cc77feb9b6 | |||
3cd95d4759 | |||
452ff6975d | |||
a8bc1e6d94 | |||
6002fcaef2 | |||
66b3e49873 | |||
4336b63b85 | |||
df0a91920b | |||
18889ab89d | |||
117982a0ac | |||
f139716d25 | |||
49d2647ab6 | |||
04b394c31c | |||
fbbed5946f | |||
450fb7c769 | |||
db0da17798 | |||
693aa9e4bf | |||
8bc64cd881 | |||
9f0f5868bd | |||
9b3ed9fbbd | |||
3283969431 | |||
bc91054eeb | |||
8fd11ed1d6 | |||
7fd04f30f3 | |||
226a2d05e2 | |||
c60e224a14 | |||
fc74faf57a | |||
da933f2aa7 | |||
10aa561c52 | |||
2dc64b23e4 | |||
e9186dec84 | |||
d556040909 | |||
64f85da579 | |||
7113aa012f | |||
d4426fe373 | |||
831f1cb4f0 | |||
0e5181d12a | |||
f569d712e1 | |||
ffac352049 | |||
9899d03da9 | |||
5b4069427e | |||
fcd1262721 | |||
d7de714eeb | |||
b3a9145dd6 | |||
08ce9f6cc8 | |||
7511eba729 | |||
173de2375e | |||
8e3301877a | |||
8b4e45c2e2 | |||
9e1a819e8b | |||
481e1bb38d | |||
29f254a68e | |||
6d3ca92357 | |||
54fcdf31b8 | |||
db1917fa40 | |||
3afa0cdc33 | |||
52c8e24b3a | |||
c8540ca0de | |||
279eb2af9d | |||
0d379094e9 | |||
f752309a26 | |||
8fb8be7443 | |||
c614f75948 | |||
4b9d5b2d89 | |||
8c7e433358 | |||
5b62436d30 | |||
f66c710a6e | |||
184c1bb158 | |||
d0e042a9c1 | |||
3a2220d215 | |||
f0713c90dd | |||
daf1d74b66 | |||
69b04183bb | |||
0662ca345f | |||
874f04c305 | |||
0332838752 | |||
35e15a1735 | |||
da93d4ea48 | |||
01a5d97ed7 | |||
ad948f3f08 | |||
979924957c | |||
2a4b61053d | |||
b8016f4ac7 | |||
3ca58472a3 | |||
8894180ea1 | |||
7b0dd55b4e | |||
dfb0f61088 | |||
1a0d8ba2b2 | |||
a7fa111930 | |||
65a2d15c07 | |||
bb6c28f859 | |||
171f67daf0 | |||
d47e68fc70 | |||
7fbe8b5c1f | |||
db6c0f84a9 | |||
b238e3c727 | |||
0ab7ab7a49 | |||
575aff046e | |||
18d337ffa0 | |||
|
e86f9b6237 | ||
f90a541ec2 | |||
7d3d00edb2 | |||
33035fb718 | |||
ce372ad731 | |||
75476c4d4e | |||
|
d15d9d291c | ||
|
ec79404d1c | ||
|
84feaff8e3 | ||
|
3b7770e16d | ||
|
f52aee275e | ||
|
c2c340f61e | ||
c9d1646933 | |||
|
26adfeee1c | ||
|
68d0eeab49 | ||
|
a50c3da468 | ||
|
f8638e7a26 | ||
|
4d584785ff | ||
|
96987b7ff1 | ||
|
456950f31d | ||
|
6740f23779 | ||
|
880221a953 | ||
|
398d6692f8 | ||
|
b6f2befafb | ||
|
c11990900c | ||
|
e07cea5ffa | ||
|
6e09a9c0c9 | ||
|
29f4ca7c54 | ||
|
73fea3d13d | ||
|
910cc2e2cb | ||
|
99d39fa7f7 | ||
|
1778fd04a4 | ||
|
d616b9ef3a | ||
|
a72d43a6af | ||
|
5a16e389c4 | ||
|
f10722dec9 | ||
|
ec00d1a445 | ||
|
bf09b85448 | ||
|
f23cda3fd1 | ||
39928d09fc | |||
9859e68fe8 | |||
4dccd7892f | |||
6bce626075 | |||
3d6aa1d4bc | |||
192bd41c1a | |||
|
c76e745e2d | ||
|
fd79be4aed | ||
b4be2e251c | |||
dc236b7550 | |||
d87935cd44 | |||
0be038fe07 | |||
25d0633fdb | |||
44b6f26f4f | |||
a388c1d2fb | |||
ca420b43e2 | |||
8be7673ad3 | |||
b124cd027c | |||
af39f367b6 | |||
|
c5f2448cf9 | ||
6471292c34 | |||
7114bb5de1 | |||
5ea48c405f | |||
|
00335f5795 | ||
|
806601c800 | ||
|
e9542dbc96 | ||
|
e222fc3fba | ||
|
eaa6f1025d | ||
3b5fc8c096 | |||
8aa7067286 | |||
77f2c5e0f1 | |||
919d842d61 | |||
|
75afb1580b | ||
41858ebddb | |||
6aa7c2229d | |||
5788051f22 | |||
b534456065 | |||
f977291894 | |||
cc4ed62159 | |||
e8a8d088f4 | |||
c9075398cd | |||
128a289ac3 | |||
ac7e691100 | |||
15ccb5642b | |||
4349851dd9 | |||
de8920ba0b | |||
4f5a939b71 | |||
22b2583505 | |||
9b3ba22ca1 | |||
69531bde6d | |||
766b2ebfd0 | |||
0999563353 | |||
078b2ae35c | |||
5ff71f0e3c | |||
2878298644 | |||
11bb8c62ed | |||
30f3420ee5 | |||
677a3e1dc8 | |||
76dc8c7ad9 | |||
b024fd8d7e | |||
8a36f91d06 | |||
2ec11a1135 | |||
962817ba63 | |||
3ef69c527b | |||
a56556b596 | |||
0a0cb15580 | |||
d3b41dcc46 | |||
37de03317b | |||
dc9fb0abfa | |||
68dc071342 | |||
78ec9c2a94 | |||
cafee75cdc | |||
d70efc6943 | |||
9e2ce6b967 | |||
295b0711b0 | |||
e660d79ef1 | |||
f036e13180 | |||
83db2b08dc | |||
40207d43ff | |||
a3cb815dd1 | |||
ebd6c503bd | |||
ac18d6d637 | |||
a0c6074358 | |||
4afdf95b44 | |||
bc6a8539f3 | |||
b3001c56ff | |||
89ffe20aee | |||
d4f4b6217e | |||
41b87a9e5e | |||
86ad2bc409 | |||
2a56247aa1 | |||
efb9210c5a | |||
48d46aa70c | |||
b47583a716 | |||
fc9c26eac5 | |||
2715b3afea | |||
55b70f1a36 | |||
f2ac689f85 | |||
1d5624496d | |||
3a6b5c4850 | |||
817b062dfd | |||
2367651a7e | |||
b8b267d4c5 | |||
c0c6dcd1ce | |||
253b7fd3f2 | |||
9f75b4439d | |||
3ac57ce7d1 | |||
68fcb3cbef | |||
4381a2d350 | |||
3cb24f7587 | |||
6579a5a0c9 | |||
d6b7a879b1 | |||
1ead7a8d16 | |||
63aa212ccb | |||
5e618569bc | |||
6d396a640f | |||
573ab3d2cb | |||
c2795cd76c | |||
17f70ea253 | |||
2173a9eb5b | |||
8e1a7f11ca | |||
ca1eaa8bff | |||
520e211c11 | |||
1635445cba | |||
6ec4a797ca | |||
b1f3b14846 | |||
04f44ef280 | |||
32ad6d8195 | |||
0ed77985f0 | |||
4b9900a7fd | |||
56492a45c8 | |||
9720bd7fa6 | |||
4e8453becd | |||
ce9b143fb5 | |||
ce899a9480 | |||
701489665a | |||
0976a3975f | |||
22d1220a14 | |||
0ad2cdf9ad | |||
1d0aa0c91e | |||
7a005d16d7 | |||
60b5a8989b | |||
eb11f51348 | |||
7bb62f421e | |||
f02d4ff427 | |||
1e09466e78 | |||
b762ba0ce1 | |||
c22af67a06 | |||
0b507962fa | |||
f73fdbb5ea | |||
1216469feb | |||
6a6dbdc798 | |||
2ac3d013c9 | |||
80a938d674 | |||
ddb535ab14 | |||
8be9a0749a | |||
0bd09b8cbd | |||
a7cacf8edc | |||
43d5686407 | |||
e29e80b650 | |||
331eda62fc | |||
fbf7ca3678 | |||
ff5442c869 | |||
4cb5100065 | |||
f239550be7 | |||
3b631bcd87 | |||
46bbeeef30 | |||
e5824d17e1 | |||
5cd3530ef0 | |||
d6f1c99c79 | |||
6b0c103d75 | |||
6d35ffa551 | |||
faee3aaa48 | |||
beb87dd97a | |||
a42af25649 | |||
6c739c5795 | |||
db6a1e148c | |||
ab396f7656 | |||
b65d3d301f | |||
6332985ebd | |||
010149e6b6 | |||
f1df9c3217 | |||
055119eeb5 | |||
75df5099e9 | |||
69974eaeea | |||
82d6fd5c8a | |||
90e935a49e | |||
6e32209824 | |||
0bb3b7bb28 | |||
f97b6b973b | |||
63d1ee7ef9 | |||
a081d5b5c8 | |||
c084972d39 | |||
b9fb8971dd | |||
487a677f6f | |||
0608045c1b | |||
79a1644530 | |||
8296a96294 | |||
79ef1f5868 | |||
8c480402ed | |||
5cfee3d18f | |||
8a5004ed74 | |||
3fea801d26 | |||
d0a62bfd24 | |||
7cedfa4fa2 | |||
72f7960369 | |||
4f036e530b | |||
6858d201c2 | |||
6c665fab04 | |||
723f3ec954 | |||
dcb88c42ea | |||
00e0a17249 | |||
89626fcd1d | |||
bfa65c999e | |||
c1323a8171 | |||
0f36dd1943 |
21
.env
21
.env
@ -0,0 +1,21 @@
|
|||||||
|
ALFRESCO_DIR=~/alfresco
|
||||||
|
ALFRESCO_LICENSE_DIR=~/alfresco/license
|
||||||
|
|
||||||
|
PROXY_PROTOCOL=http
|
||||||
|
PROXY_HOST=localhost
|
||||||
|
PROXY_PORT=8080
|
||||||
|
IDENTITY_SERVICE_PROTOCOL=http
|
||||||
|
IDENTITY_SERVICE_HOST=auth.example.org
|
||||||
|
IDENTITY_SERVICE_PORT=8080
|
||||||
|
|
||||||
|
ACS_TAG=7.4.1.1
|
||||||
|
ATR_TAG=3.0.0
|
||||||
|
ATE_AIO_TAG=4.0.0
|
||||||
|
ASFS_TAG=3.0.0
|
||||||
|
AIS_TAG=1.8.0.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
|
@ -3,3 +3,11 @@
|
|||||||
|
|
||||||
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`.
|
||||||
|
|
||||||
|
@ -1,3 +1,219 @@
|
|||||||
# Originally 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
|
||||||
#
|
#
|
||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
platform:
|
||||||
|
image: quay.io/alfresco/alfresco-governance-repository-enterprise:${ACS_TAG}
|
||||||
|
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
|
||||||
|
-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=true
|
||||||
|
-Dcors.allowed.origins=http://localhost:4200,http://localhost:8080,${PROXY_PROTOCOL}://${PROXY_HOST}
|
||||||
|
-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
|
||||||
|
-Dauthentication.chain=aims:identity-service,builtin:alfrescoNtlm
|
||||||
|
-Didentity-service.authentication.defaultAdministratorUserNames=admin.1
|
||||||
|
-Didentity-service.auth-server-url=http://identity:8080/auth
|
||||||
|
-Dsystem.content.eagerOrphanCleanup=true
|
||||||
|
-Dsystem.content.orphanProtectDays=0
|
||||||
|
-Djodconverter.enabled=false
|
||||||
|
"
|
||||||
|
depends_on:
|
||||||
|
postgres-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"
|
||||||
|
|
||||||
|
transform-router:
|
||||||
|
image: quay.io/alfresco/alfresco-transform-router:${ATR_TAG}
|
||||||
|
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:${ATE_AIO_TAG}
|
||||||
|
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: quay.io/alfresco/alfresco-shared-file-store:${ASFS_TAG}
|
||||||
|
volumes:
|
||||||
|
- shared-file-store-volume:/tmp/Alfresco/sfs
|
||||||
|
|
||||||
|
share:
|
||||||
|
image: quay.io/alfresco/alfresco-governance-share-enterprise:${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}
|
||||||
|
-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:
|
||||||
|
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
|
||||||
|
-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:${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"
|
||||||
|
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"
|
||||||
|
|
||||||
|
identity:
|
||||||
|
image: alfresco/alfresco-identity-service:${AIS_TAG}
|
||||||
|
user: jboss
|
||||||
|
environment:
|
||||||
|
KEYCLOAK_USER: admin
|
||||||
|
KEYCLOAK_PASSWORD: admin
|
||||||
|
KEYCLOAK_FRONTEND_URL: ${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
|
||||||
|
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
|
||||||
|
|
||||||
|
proxy:
|
||||||
|
build: ./nginx-ingress
|
||||||
|
image: local/nginx-ingress:acs-sync-share-adw-aims
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
depends_on:
|
||||||
|
- platform
|
||||||
|
- sync
|
||||||
|
- share
|
||||||
|
- digital-workspace
|
||||||
|
- identity
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
shared-file-store-volume:
|
||||||
|
driver_opts:
|
||||||
|
type: tmpfs
|
||||||
|
device: tmpfs
|
||||||
|
80
keycloak-alfresco-realm.json
Normal file
80
keycloak-alfresco-realm.json
Normal 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" ]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
8
nginx-ingress/Dockerfile
Normal file
8
nginx-ingress/Dockerfile
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
FROM nginx:stable-alpine
|
||||||
|
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
COPY entrypoint.sh /
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/entrypoint.sh" ]
|
27
nginx-ingress/entrypoint.sh
Normal file
27
nginx-ingress/entrypoint.sh
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/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 [[ $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
|
||||||
|
|
||||||
|
nginx -g "daemon off;"
|
77
nginx-ingress/nginx.conf
Normal file
77
nginx-ingress/nginx.conf
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
worker_processes 1;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
server {
|
||||||
|
listen *:8080;
|
||||||
|
|
||||||
|
client_max_body_size 0;
|
||||||
|
|
||||||
|
set $allowOriginSite *;
|
||||||
|
proxy_pass_request_headers on;
|
||||||
|
proxy_pass_header Set-Cookie;
|
||||||
|
|
||||||
|
# External settings, do not remove
|
||||||
|
#ENV_ACCESS_LOG
|
||||||
|
|
||||||
|
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_set_header Host $http_host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_pass_header Set-Cookie;
|
||||||
|
|
||||||
|
# Protect access to SOLR APIs
|
||||||
|
location ~ ^(/.*/service/api/solr/.*)$ {return 403;}
|
||||||
|
location ~ ^(/.*/s/api/solr/.*)$ {return 403;}
|
||||||
|
location ~ ^(/.*/wcservice/api/solr/.*)$ {return 403;}
|
||||||
|
location ~ ^(/.*/wcs/api/solr/.*)$ {return 403;}
|
||||||
|
|
||||||
|
location ~ ^(/.*/proxy/alfresco/api/solr/.*)$ {return 403 ;}
|
||||||
|
location ~ ^(/.*/-default-/proxy/alfresco/api/.*)$ {return 403;}
|
||||||
|
|
||||||
|
# Protect access to Prometheus endpoint
|
||||||
|
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/;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
175
server.xml
Normal file
175
server.xml
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<!-- Note: A "Server" is not itself a "Container", so you may not
|
||||||
|
define subcomponents such as "Valves" at this level.
|
||||||
|
Documentation at /docs/config/server.html
|
||||||
|
-->
|
||||||
|
<Server port="8005" shutdown="SHUTDOWN">
|
||||||
|
<Listener className="org.apache.catalina.startup.VersionLoggerListener" logArgs="false" />
|
||||||
|
<!-- Security listener. Documentation at /docs/config/listeners.html
|
||||||
|
<Listener className="org.apache.catalina.security.SecurityListener" />
|
||||||
|
-->
|
||||||
|
<!-- APR library loader. Documentation at /docs/apr.html -->
|
||||||
|
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
|
||||||
|
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
|
||||||
|
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
|
||||||
|
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
||||||
|
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
|
||||||
|
|
||||||
|
<!-- Global JNDI resources
|
||||||
|
Documentation at /docs/jndi-resources-howto.html
|
||||||
|
-->
|
||||||
|
<GlobalNamingResources>
|
||||||
|
<!-- Editable user database that can also be used by
|
||||||
|
UserDatabaseRealm to authenticate users
|
||||||
|
-->
|
||||||
|
<Resource name="UserDatabase" auth="Container"
|
||||||
|
type="org.apache.catalina.UserDatabase"
|
||||||
|
description="User database that can be updated and saved"
|
||||||
|
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
||||||
|
pathname="conf/tomcat-users.xml" />
|
||||||
|
</GlobalNamingResources>
|
||||||
|
|
||||||
|
<!-- A "Service" is a collection of one or more "Connectors" that share
|
||||||
|
a single "Container" Note: A "Service" is not itself a "Container",
|
||||||
|
so you may not define subcomponents such as "Valves" at this level.
|
||||||
|
Documentation at /docs/config/service.html
|
||||||
|
-->
|
||||||
|
<Service name="Catalina">
|
||||||
|
|
||||||
|
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
|
||||||
|
<!--
|
||||||
|
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
|
||||||
|
maxThreads="150" minSpareThreads="4"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- A "Connector" represents an endpoint by which requests are received
|
||||||
|
and responses are returned. Documentation at :
|
||||||
|
Java HTTP Connector: /docs/config/http.html
|
||||||
|
Java AJP Connector: /docs/config/ajp.html
|
||||||
|
APR (HTTP/AJP) Connector: /docs/apr.html
|
||||||
|
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
|
||||||
|
-->
|
||||||
|
<Connector port="8080" protocol="HTTP/1.1"
|
||||||
|
Server=" "
|
||||||
|
connectionTimeout="20000"
|
||||||
|
redirectPort="8443"
|
||||||
|
proxyName="alfresco.inteligr8.com" proxyPort="443" />
|
||||||
|
<!-- A "Connector" using the shared thread pool-->
|
||||||
|
<!--
|
||||||
|
<Connector executor="tomcatThreadPool"
|
||||||
|
port="8080" protocol="HTTP/1.1"
|
||||||
|
connectionTimeout="20000"
|
||||||
|
redirectPort="8443"
|
||||||
|
proxyHost="alfresco.inteligr8.com" proxyPort="443" />
|
||||||
|
-->
|
||||||
|
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
|
||||||
|
This connector uses the NIO implementation. The default
|
||||||
|
SSLImplementation will depend on the presence of the APR/native
|
||||||
|
library and the useOpenSSL attribute of the AprLifecycleListener.
|
||||||
|
Either JSSE or OpenSSL style configuration may be used regardless of
|
||||||
|
the SSLImplementation selected. JSSE style configuration is used below.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
|
||||||
|
maxThreads="150" SSLEnabled="true">
|
||||||
|
<SSLHostConfig>
|
||||||
|
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
|
||||||
|
type="RSA" />
|
||||||
|
</SSLHostConfig>
|
||||||
|
</Connector>
|
||||||
|
-->
|
||||||
|
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
|
||||||
|
This connector uses the APR/native implementation which always uses
|
||||||
|
OpenSSL for TLS.
|
||||||
|
Either JSSE or OpenSSL style configuration may be used. OpenSSL style
|
||||||
|
configuration is used below.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
|
||||||
|
maxThreads="150" SSLEnabled="true" >
|
||||||
|
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
|
||||||
|
<SSLHostConfig>
|
||||||
|
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
|
||||||
|
certificateFile="conf/localhost-rsa-cert.pem"
|
||||||
|
certificateChainFile="conf/localhost-rsa-chain.pem"
|
||||||
|
type="RSA" />
|
||||||
|
</SSLHostConfig>
|
||||||
|
</Connector>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Define an AJP 1.3 Connector on port 8009 -->
|
||||||
|
<!--
|
||||||
|
<Connector protocol="AJP/1.3"
|
||||||
|
address="::1"
|
||||||
|
port="8009"
|
||||||
|
redirectPort="8443" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- An Engine represents the entry point (within Catalina) that processes
|
||||||
|
every request. The Engine implementation for Tomcat stand alone
|
||||||
|
analyzes the HTTP headers included with the request, and passes them
|
||||||
|
on to the appropriate Host (virtual host).
|
||||||
|
Documentation at /docs/config/engine.html -->
|
||||||
|
|
||||||
|
<!-- You should set jvmRoute to support load-balancing via AJP ie :
|
||||||
|
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
|
||||||
|
-->
|
||||||
|
<Engine name="Catalina" defaultHost="localhost">
|
||||||
|
|
||||||
|
<!--For clustering, please take a look at documentation at:
|
||||||
|
/docs/cluster-howto.html (simple how to)
|
||||||
|
/docs/config/cluster.html (reference documentation) -->
|
||||||
|
<!--
|
||||||
|
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
|
||||||
|
via a brute-force attack -->
|
||||||
|
<Realm className="org.apache.catalina.realm.LockOutRealm">
|
||||||
|
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
||||||
|
resources under the key "UserDatabase". Any edits
|
||||||
|
that are performed against this UserDatabase are immediately
|
||||||
|
available for use by the Realm. -->
|
||||||
|
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
||||||
|
resourceName="UserDatabase"/>
|
||||||
|
</Realm>
|
||||||
|
|
||||||
|
<Host name="localhost" appBase="webapps"
|
||||||
|
unpackWARs="true" autoDeploy="true">
|
||||||
|
|
||||||
|
<!-- SingleSignOn valve, share authentication between web applications
|
||||||
|
Documentation at: /docs/config/valve.html -->
|
||||||
|
<!--
|
||||||
|
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Access log processes all example.
|
||||||
|
Documentation at: /docs/config/valve.html
|
||||||
|
Note: The pattern used is equivalent to using pattern="common" -->
|
||||||
|
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
||||||
|
prefix="localhost_access_log" suffix=".txt"
|
||||||
|
pattern="%h %l %u %t "%r" %s %b" />
|
||||||
|
|
||||||
|
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
|
||||||
|
|
||||||
|
</Host>
|
||||||
|
</Engine>
|
||||||
|
</Service>
|
||||||
|
</Server>
|
Loading…
x
Reference in New Issue
Block a user