Compare commits
68
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb5ae19f7b | ||
|
|
fbda2bcdde | ||
|
|
c0878c27f0 | ||
|
|
df452d73a0 | ||
|
|
aa136e1f2f | ||
|
|
38b5f8dc36 | ||
|
|
ef221d9c7a | ||
|
|
57af0a20b1 | ||
|
|
76e4287aa1 | ||
|
|
241a3e47ea | ||
|
|
8fd11ed1d6 | ||
|
|
7511eba729 | ||
|
|
173de2375e | ||
|
|
8e3301877a | ||
|
|
8b4e45c2e2 | ||
|
|
9e1a819e8b | ||
|
|
481e1bb38d | ||
|
|
29f254a68e | ||
|
|
ad948f3f08 | ||
|
|
b8016f4ac7 | ||
|
|
910cc2e2cb | ||
|
|
d616b9ef3a | ||
|
|
6bce626075 | ||
|
|
3d6aa1d4bc | ||
|
|
dc9fb0abfa | ||
|
|
cafee75cdc | ||
|
|
d70efc6943 | ||
|
|
a3cb815dd1 | ||
|
|
ebd6c503bd | ||
|
|
ac18d6d637 | ||
|
|
55b70f1a36 | ||
|
|
1d5624496d | ||
|
|
3a6b5c4850 | ||
|
|
817b062dfd | ||
|
|
c0c6dcd1ce | ||
|
|
3ac57ce7d1 | ||
|
|
3cb24f7587 | ||
|
|
6579a5a0c9 | ||
|
|
d6b7a879b1 | ||
|
|
1ead7a8d16 | ||
|
|
63aa212ccb | ||
|
|
5e618569bc | ||
|
|
6d396a640f | ||
|
|
6ec4a797ca | ||
|
|
9720bd7fa6 | ||
|
|
4e8453becd | ||
|
|
60b5a8989b | ||
|
|
c22af67a06 | ||
|
|
e29e80b650 | ||
|
|
46bbeeef30 | ||
|
|
6b0c103d75 | ||
|
|
faee3aaa48 | ||
|
|
beb87dd97a | ||
|
|
a42af25649 | ||
|
|
db6a1e148c | ||
|
|
ab396f7656 | ||
|
|
b65d3d301f | ||
|
|
6332985ebd | ||
|
|
010149e6b6 | ||
|
|
f1df9c3217 | ||
|
|
90e935a49e | ||
|
|
6e32209824 | ||
|
|
79a1644530 | ||
|
|
5cfee3d18f | ||
|
|
d0a62bfd24 | ||
|
|
6c665fab04 | ||
|
|
723f3ec954 | ||
|
|
0f36dd1943 |
@@ -0,0 +1,10 @@
|
|||||||
|
ALFRESCO_DIR=~/alfresco
|
||||||
|
ALFRESCO_LICENSE_DIR=~/alfresco/license
|
||||||
|
|
||||||
|
PROXY_PROTOCOL=http
|
||||||
|
PROXY_HOST=localhost
|
||||||
|
PROXY_PORT=8080
|
||||||
|
|
||||||
|
ACS_TAG=7.4.1.1
|
||||||
|
AAMQ_TAG=latest
|
||||||
|
POSTGRES_TAG=13
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|
||||||
|
|||||||
+60
-7
@@ -4,13 +4,66 @@ version: "3"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
directory:
|
platform:
|
||||||
image: osixia/openldap:1.4.0
|
image: quay.io/alfresco/alfresco-content-repository:${ACS_TAG}
|
||||||
environment:
|
environment:
|
||||||
LDAP_ORGANISATION: "Example Organization"
|
JAVA_TOOL_OPTIONS: "
|
||||||
LDAP_DOMAIN: example.org
|
-Dencryption.keystore.type=JCEKS
|
||||||
LDAP_ADMIN_PASSWORD: admin
|
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
|
||||||
command: "--copy-service --loglevel=debug"
|
-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=noindex
|
||||||
|
-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=false
|
||||||
|
-Dlocal.transform.service.enabled=false
|
||||||
|
-Dsystem.content.eagerOrphanCleanup=true
|
||||||
|
-Dsystem.content.orphanProtectDays=0
|
||||||
|
-Djodconverter.enabled=false
|
||||||
|
"
|
||||||
|
depends_on:
|
||||||
|
- postgres-acs
|
||||||
|
- activemq
|
||||||
volumes:
|
volumes:
|
||||||
- ./openldap-example.ldif:/container/service/slapd/assets/config/bootstrap/ldif/50-bootstrap.ldif:ro
|
- "$ALFRESCO_LICENSE_DIR/acs:/usr/local/tomcat/shared/classes/alfresco/extension/license:ro"
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
activemq:
|
||||||
|
image: alfresco/alfresco-activemq:${AAMQ_TAG}
|
||||||
|
environment:
|
||||||
|
ACTIVEMQ_OPTS_MEMORY: -Xms64m -Xmx256m
|
||||||
|
ACTIVEMQ_ADMIN_LOGIN: alfresco
|
||||||
|
ACTIVEMQ_ADMIN_PASSWORD: alfresco
|
||||||
|
|
||||||
|
proxy:
|
||||||
|
build: ./nginx-ingress
|
||||||
|
image: local/nginx-ingress:acs
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
depends_on:
|
||||||
|
- platform
|
||||||
|
|||||||
@@ -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" ]
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [[ $ACS_PLATFORM_URL ]]; then
|
||||||
|
sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_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;"
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
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_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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
version: 1
|
|
||||||
|
|
||||||
dn: uid=admin.1,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #1
|
|
||||||
sn: Administrator
|
|
||||||
uid: admin.1
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: admin.1@example.org
|
|
||||||
|
|
||||||
dn: uid=manager.1,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #1
|
|
||||||
sn: Manager
|
|
||||||
uid: manager.1
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: manager.1@example.org
|
|
||||||
|
|
||||||
dn: uid=user.1,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #1
|
|
||||||
sn: User
|
|
||||||
uid: user.1
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: user.1@example.org
|
|
||||||
|
|
||||||
dn: uid=user.2,dc=example,dc=org
|
|
||||||
objectClass: organizationalPerson
|
|
||||||
objectClass: person
|
|
||||||
objectClass: top
|
|
||||||
objectClass: uidObject
|
|
||||||
objectClass: simpleSecurityObject
|
|
||||||
objectClass: mailAccount
|
|
||||||
cn: #2
|
|
||||||
sn: User
|
|
||||||
uid: user.2
|
|
||||||
userPassword: {SSHA}m2qOFBapko4Bky4vbQYCVyW4+KWeuswg/BqObw==
|
|
||||||
mail: user.2@example.org
|
|
||||||
|
|
||||||
dn: cn=power-users,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: power-users
|
|
||||||
member: uid=manager.1,dc=example,dc=org
|
|
||||||
|
|
||||||
dn: cn=admins,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: admins
|
|
||||||
member: uid=admin.1,dc=example,dc=org
|
|
||||||
|
|
||||||
dn: cn=acs-users,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: acs-users
|
|
||||||
member: cn=power-users,dc=example,dc=org
|
|
||||||
member: uid=user.1,dc=example,dc=org
|
|
||||||
|
|
||||||
dn: cn=aps-users,dc=example,dc=org
|
|
||||||
objectClass: groupOfNames
|
|
||||||
objectClass: top
|
|
||||||
cn: aps-users
|
|
||||||
member: cn=power-users,dc=example,dc=org
|
|
||||||
member: uid=user.2,dc=example,dc=org
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user