Compare commits
34 Commits
propagate/
...
propagate/
Author | SHA1 | Date | |
---|---|---|---|
|
228e930caa | ||
6bce626075 | |||
fa515e4984 | |||
ebd6c503bd | |||
5a12f3a6e0 | |||
1d5624496d | |||
3a6b5c4850 | |||
c0c6dcd1ce | |||
3cb24f7587 | |||
6579a5a0c9 | |||
1ead7a8d16 | |||
63aa212ccb | |||
6d396a640f | |||
b6ff1bb4d2 | |||
8467968c92 | |||
9720bd7fa6 | |||
32b8e047fb | |||
119c6643bd | |||
a30f423c44 | |||
4650110b96 | |||
24114c2604 | |||
46bbeeef30 | |||
6b0c103d75 | |||
faee3aaa48 | |||
beb87dd97a | |||
db6a1e148c | |||
ab396f7656 | |||
b65d3d301f | |||
6332985ebd | |||
010149e6b6 | |||
79a1644530 | |||
5cfee3d18f | |||
6c665fab04 | |||
0f36dd1943 |
4
.env
4
.env
@@ -1,4 +1,6 @@
|
||||
ALFRESCO_DIR=~/alfresco
|
||||
ALFRESCO_LICENSE_DIR=~/alfresco/license
|
||||
|
||||
PROXY_PROTOCOL=http
|
||||
PROXY_HOST=localhost
|
||||
PROXY_PORT=8080
|
||||
IDENTITY_SERVICE_BASEURL=http://auth.example.org:8080
|
||||
|
16
alfresco-content-repository/docker/Dockerfile
Normal file
16
alfresco-content-repository/docker/Dockerfile
Normal file
@@ -0,0 +1,16 @@
|
||||
FROM alfresco/alfresco-content-repository:latest
|
||||
|
||||
ARG USERNAME=alfresco
|
||||
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||
|
||||
USER root
|
||||
|
||||
COPY catalina.policy /tmp/catalina.policy.ext
|
||||
COPY tomcat-platform-context.xml ${TOMCAT_DIR}/conf/Catalina/localhost/alfresco.xml
|
||||
COPY *.amp ${TOMCAT_DIR}/amps/
|
||||
|
||||
RUN java -jar ${TOMCAT_DIR}/alfresco-mmt/alfresco-mmt*.jar install ${TOMCAT_DIR}/amps ${TOMCAT_DIR}/webapps/alfresco -nobackup -directory && \
|
||||
mkdir -p ${TOMCAT_DIR}/modules && \
|
||||
cat /tmp/catalina.policy.ext >> ${TOMCAT_DIR}/conf/catalina.policy
|
||||
|
||||
USER ${USERNAME}
|
3
alfresco-content-repository/docker/README.md
Normal file
3
alfresco-content-repository/docker/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## Usage
|
||||
|
||||
Download all AMP files needed into this directory. All of them will be copied into a new Docker image and installed into the Alfresco Platform web application.
|
4
alfresco-content-repository/docker/catalina.policy
Normal file
4
alfresco-content-repository/docker/catalina.policy
Normal file
@@ -0,0 +1,4 @@
|
||||
grant codeBase "file:${catalina.base}/modules/-" {
|
||||
permission java.security.AllPermission;
|
||||
};
|
||||
|
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Context>
|
||||
<Resources>
|
||||
<PreResources base="${catalina.base}/modules" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/WEB-INF/lib" readOnly="true" />
|
||||
</Resources>
|
||||
</Context>
|
||||
|
3
alfresco-content-repository/modules/README.md
Normal file
3
alfresco-content-repository/modules/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
## Usage
|
||||
|
||||
Download all JAR module files needed into this directory. All of them will be dynamically loaded into the Docker container and loaded into the Alfresco Platform web application.
|
@@ -4,27 +4,34 @@
|
||||
version: "2"
|
||||
|
||||
services:
|
||||
|
||||
identity:
|
||||
image: alfresco/alfresco-identity-service:1.3
|
||||
user: jboss
|
||||
platform:
|
||||
build: ./alfresco-content-repository/docker
|
||||
image: local/alfresco-content-repository:latest
|
||||
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"
|
||||
JAVA_OPTS: "
|
||||
-Ddb.driver=org.postgresql.Driver
|
||||
-Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco
|
||||
-Dalfresco.host=${PROXY_HOST}
|
||||
-Dalfresco.port=${PROXY_PORT}
|
||||
-Dalfresco.protocol=${PROXY_PROTOCOL}
|
||||
-Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||
"
|
||||
depends_on:
|
||||
- postgres-acs
|
||||
- activemq
|
||||
volumes:
|
||||
- ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
|
||||
- "./alfresco-content-repository/modules:/usr/local/tomcat/modules:ro"
|
||||
|
||||
postgres-acs:
|
||||
image: postgres:latest
|
||||
|
||||
activemq:
|
||||
image: alfresco/alfresco-activemq:latest
|
||||
|
||||
proxy:
|
||||
build: ./nginx-ingress
|
||||
image: local/nginx-ingress:aims
|
||||
image: local/nginx-ingress:acs
|
||||
ports:
|
||||
- 8080:8080
|
||||
depends_on:
|
||||
- identity
|
||||
- platform
|
||||
|
@@ -1,47 +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"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requiredCredentials": [ "password" ],
|
||||
"users": [
|
||||
{
|
||||
"username": "admin",
|
||||
"email": "admin@app.activiti.com",
|
||||
"enabled": true,
|
||||
"credentials" : [
|
||||
{
|
||||
"type" : "password",
|
||||
"value" : "admin"
|
||||
}
|
||||
],
|
||||
"realmRoles": [ "user", "admin" ]
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [[ $AIMS_URL ]]; then
|
||||
sed -i s%http:\/\/identity:8080%"$AIMS_URL"%g /etc/nginx/nginx.conf
|
||||
if [[ $ACS_PLATFORM_URL ]]; then
|
||||
sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf
|
||||
fi
|
||||
|
||||
if [[ $ACCESS_LOG ]]; then
|
||||
|
@@ -19,22 +19,31 @@ 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;
|
||||
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 / {
|
||||
return 301 $scheme://$http_host/auth;
|
||||
proxy_pass http://platform:8080;
|
||||
}
|
||||
|
||||
location /auth/ {
|
||||
proxy_pass http://identity:8080;
|
||||
location /alfresco/ {
|
||||
proxy_pass http://platform:8080;
|
||||
|
||||
# If using external proxy / load balancer (for initial redirect if no trailing slash)
|
||||
absolute_redirect off;
|
||||
|
Reference in New Issue
Block a user