Compare commits
44 Commits
download
...
aps-search
Author | SHA1 | Date | |
---|---|---|---|
73424b9bd9 | |||
76f18e1a60 | |||
6aa3731165 | |||
82864c1955 | |||
7fedfed6cd | |||
eb8df1a86f | |||
e30247ead5 | |||
8901d10f82 | |||
3fee42cd28 | |||
25e6137de9 | |||
e0e190d987 | |||
fc8a854920 | |||
7e526e0e1e | |||
241a3e47ea | |||
4e85d8118c | |||
1279c5aeba | |||
dd967a17f2 | |||
27a818fd22 | |||
9e1a819e8b | |||
dee72646e6 | |||
7590f2d390 | |||
2d91d8bc08 | |||
|
8b7ec4654e | ||
6e0c055222 | |||
3d6aa1d4bc | |||
|
9dd046ad51 | ||
20b41bbcb1 | |||
89348916a5 | |||
a2619fac7b | |||
3a47c43a88 | |||
16aa444b19 | |||
deb6bf058c | |||
8a0ccc61a5 | |||
695e3b3dc0 | |||
2b7755222b | |||
237a8abd62 | |||
f28c16c4fe | |||
ac18d6d637 | |||
817b062dfd | |||
d6b7a879b1 | |||
5e618569bc | |||
4e8453becd | |||
a42af25649 | |||
f1df9c3217 |
10
.env
10
.env
@@ -0,0 +1,10 @@
|
||||
ALFRESCO_DIR=~/alfresco
|
||||
ALFRESCO_LICENSE_DIR=~/alfresco/license
|
||||
|
||||
PROXY_PROTOCOL=http
|
||||
PROXY_HOST=localhost
|
||||
PROXY_PORT=8080
|
||||
|
||||
APS_TAG=2.4.1
|
||||
POSTGRES_TAG=13
|
||||
ELASTICSEARCH_TAG=7.17.13
|
||||
|
@@ -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.
|
||||
|
@@ -1,3 +1,73 @@
|
||||
# Originally sourced from https://github.com/Alfresco/acs-deployment/blob/4.0.3/docker-compose/docker-compose.yml
|
||||
#
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
|
||||
activiti-app:
|
||||
image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
|
||||
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
|
||||
JAVA_OPTS: "-Xms128m -Xmx256m"
|
||||
depends_on:
|
||||
- postgres-aps
|
||||
- search-aps
|
||||
volumes:
|
||||
- "$ALFRESCO_LICENSE_DIR/aps:/home/alfresco/.activiti/enterprise-license:ro"
|
||||
|
||||
activiti-admin:
|
||||
image: quay.io/alfresco/alfresco-process-services-admin:${APS_TAG}
|
||||
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: "-Xms64m -Xmx128m"
|
||||
depends_on:
|
||||
- postgres-aps-admin
|
||||
- activiti-app
|
||||
|
||||
postgres-aps:
|
||||
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
|
||||
|
||||
postgres-aps-admin:
|
||||
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
|
||||
|
||||
search-aps:
|
||||
image: elasticsearch:${ELASTICSEARCH_TAG}
|
||||
environment:
|
||||
discovery.type: single-node
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
|
||||
proxy:
|
||||
build: ./nginx-ingress
|
||||
image: local/nginx-ingress:aps
|
||||
ports:
|
||||
- 8080:8080
|
||||
depends_on:
|
||||
- activiti-app
|
||||
- activiti-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" ]
|
15
nginx-ingress/entrypoint.sh
Normal file
15
nginx-ingress/entrypoint.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
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 [[ $ACCESS_LOG ]]; then
|
||||
sed -i s%\#ENV_ACCESS_LOG%"access_log $ACCESS_LOG;"%g /etc/nginx/nginx.conf
|
||||
fi
|
||||
|
||||
nginx -g "daemon off;"
|
59
nginx-ingress/nginx.conf
Normal file
59
nginx-ingress/nginx.conf
Normal file
@@ -0,0 +1,59 @@
|
||||
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 / {
|
||||
return 301 $scheme://$http_host/activiti-app;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
REM Usage: .\download-maven-alfresco-private.bat org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
@echo off
|
||||
set THISDIR_REL=%~dp0
|
||||
set THISDIR=%THISDIR_REL:~0,-1%
|
||||
|
||||
set MAVEN_BASEURL=https://artifacts.alfresco.com/nexus/content/groups/private
|
||||
|
||||
call "%THISDIR%\download-maven.bat" %MAVEN_BASEURL% %*
|
@@ -1,6 +0,0 @@
|
||||
# Usage: .\download-maven-alfresco-private.ps1 org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
$THISDIR=$PSScriptRoot
|
||||
|
||||
$MAVEN_BASEURL="https://artifacts.alfresco.com/nexus/content/groups/private"
|
||||
|
||||
Invoke-Expression "& '${THISDIR}\download-maven.ps1' '${MAVEN_BASEURL}' $args"
|
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./download-maven-alfresco-private.sh org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
THISDIR=`dirname "$(readlink -f "$0")"`
|
||||
|
||||
MAVEN_BASEDIR="https://artifacts.alfresco.com/nexus/content/groups/private"
|
||||
|
||||
${THISDIR}/download-maven.sh "${MAVEN_BASEDIR}" $*
|
@@ -1,8 +0,0 @@
|
||||
REM Usage: .\download-maven-alfresco-public.bat org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
@echo off
|
||||
set THISDIR_REL=%~dp0
|
||||
set THISDIR=%THISDIR_REL:~0,-1%
|
||||
|
||||
set MAVEN_BASEURL=https://artifacts.alfresco.com/nexus/content/groups/public
|
||||
|
||||
call "%THISDIR%\download-maven.bat" %MAVEN_BASEURL% %*
|
@@ -1,6 +0,0 @@
|
||||
# Usage: .\download-maven-alfresco-public.ps1 org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
$THISDIR=$PSScriptRoot
|
||||
|
||||
$MAVEN_BASEURL="https://artifacts.alfresco.com/nexus/content/groups/public"
|
||||
|
||||
Invoke-Expression "& '${THISDIR}\download-maven.ps1' '${MAVEN_BASEURL}' $args"
|
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./download-maven-alfresco-public.sh org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
THISDIR=`dirname "$(readlink -f "$0")"`
|
||||
|
||||
MAVEN_BASEDIR="https://artifacts.alfresco.com/nexus/content/groups/public"
|
||||
|
||||
${THISDIR}/download-maven.sh "${MAVEN_BASEDIR}" $*
|
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./download-maven-inteligr8-private.sh org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
THISDIR=`dirname "$(readlink -f "$0")"`
|
||||
|
||||
MAVEN_BASEURL="http://repos.yateslong.us/nexus/repository/inteligr8"
|
||||
|
||||
${THISDIR}/download-maven.sh "${MAVEN_BASEURL}" $*
|
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./download-maven-inteligr8-public.sh org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
THISDIR=`dirname "$(readlink -f "$0")"`
|
||||
|
||||
MAVEN_BASEURL="http://repos.yateslong.us/nexus/repositories/inteligr8-public"
|
||||
|
||||
${THISDIR}/download-maven.sh "${MAVEN_BASEURL}" $*
|
@@ -1,18 +0,0 @@
|
||||
REM Usage: .\download-maven.bat https://repo1.maven.org/maven2 org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
REM Usage: .\download-maven.bat https://repo1.maven.org/maven2 org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
@echo off
|
||||
set THISDIR_REL=%~dp0
|
||||
set THISDIR=%THISDIR_REL:~0,-1%
|
||||
|
||||
set MAVEN_BASEURL=%1
|
||||
set MAVEN_GROUP_PATH=%2
|
||||
set MAVEN_ARTIFACT_ID=%3
|
||||
set MAVEN_ARTIFACT_VERSION=%4
|
||||
set MAVEN_PACKAGING=%5
|
||||
set HTTP_USERNAME=%6
|
||||
set HTTP_PASSWORD=%7
|
||||
|
||||
set MAVEN_ARTIFACT_FILENAME=%MAVEN_ARTIFACT_ID%-%MAVEN_ARTIFACT_VERSION%.%MAVEN_PACKAGING%
|
||||
set MAVEN_URL=%MAVEN_BASEURL%/%MAVEN_GROUP_PATH%/%MAVEN_ARTIFACT_ID%/%MAVEN_ARTIFACT_VERSION%/%MAVEN_ARTIFACT_FILENAME%
|
||||
|
||||
call "%THISDIR%\download-url.bat" %MAVEN_URL% %MAVEN_ARTIFACT_FILENAME% %HTTP_USERNAME% %HTTP_PASSWORD%
|
@@ -1,16 +0,0 @@
|
||||
# Usage: .\download-maven.ps1 https://repo1.maven.org/maven2 org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
# Usage: .\download-maven.ps1 https://repo1.maven.org/maven2 org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
$THISDIR=$PSScriptRoot
|
||||
|
||||
$MAVEN_BASEURL=$args[0]
|
||||
$MAVEN_GROUP_PATH=$args[1]
|
||||
$MAVEN_ARTIFACT_ID=$args[2]
|
||||
$MAVEN_ARTIFACT_VERSION=$args[3]
|
||||
$MAVEN_PACKAGING=$args[4]
|
||||
$HTTP_USERNAME=$args[5]
|
||||
$HTTP_PASSWORD=$args[6]
|
||||
|
||||
$MAVEN_ARTIFACT_FILENAME="${MAVEN_ARTIFACT_ID}-${MAVEN_ARTIFACT_VERSION}.${MAVEN_PACKAGING}"
|
||||
$MAVEN_URL="${MAVEN_BASEURL}/${MAVEN_GROUP_PATH}/${MAVEN_ARTIFACT_ID}/${MAVEN_ARTIFACT_VERSION}/${MAVEN_ARTIFACT_FILENAME}"
|
||||
|
||||
Invoke-Expression "& '${THISDIR}\download-url.ps1' '${MAVEN_URL}' '${MAVEN_ARTIFACT_FILENAME}' '${HTTP_USERNAME}' '${HTTP_PASSWORD}'"
|
@@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./download-maven.sh https://repo1.maven.org/maven2 org/maven/group/path maven-artifact-id 1.2.3 jar
|
||||
# Usage: ./download-maven.sh https://repo1.maven.org/maven2 org/maven/group/path maven-artifact-id 1.2.3 jar a_username a_password
|
||||
THISDIR=`dirname "$(readlink -f "$0")"`
|
||||
|
||||
MAVEN_BASEURL=$1
|
||||
MAVEN_GROUP_PATH=$2
|
||||
MAVEN_ARTIFACT_ID=$3
|
||||
MAVEN_ARTIFACT_VERSION=$4
|
||||
MAVEN_PACKAGING=$5
|
||||
HTTP_USERNAME=$6
|
||||
HTTP_PASSWORD=$7
|
||||
|
||||
MAVEN_ARTIFACT_FILENAME=${MAVEN_ARTIFACT_ID}-${MAVEN_ARTIFACT_VERSION}.${MAVEN_PACKAGING}
|
||||
MAVEN_URL=${MAVEN_BASEURL}/${MAVEN_GROUP_PATH}/${MAVEN_ARTIFACT_ID}/${MAVEN_ARTIFACT_VERSION}/${MAVEN_ARTIFACT_FILENAME}
|
||||
echo $MAVEN_URL
|
||||
|
||||
${THISDIR}/download-url.sh "${MAVEN_URL}" "${MAVEN_ARTIFACT_FILENAME}" "${HTTP_USERNAME}" "${HTTP_PASSWORD}"
|
@@ -1,13 +0,0 @@
|
||||
REM Usage: .\download.bat https://www.a.url/to/download filename_for_downloaded.file
|
||||
REM Usage: .\download.bat https://www.a.url/to/download filename_for_downloaded.file a_username a_password
|
||||
@echo off
|
||||
set URL=%1
|
||||
set FILENAME=%2
|
||||
|
||||
if NOT "%~3" == "" (
|
||||
set USERNAME=%3
|
||||
set PASSWORD=%4
|
||||
curl -L -o %FILENAME% -u %USERNAME%:%PASSWORD% %URL%
|
||||
) else (
|
||||
curl -L -o %FILENAME% %URL%
|
||||
)
|
@@ -1,16 +0,0 @@
|
||||
# Usage: .\download.ps1 https://www.a.url/to/download filename_for_downloaded.file
|
||||
# Usage: .\download.ps1 https://www.a.url/to/download filename_for_downloaded.file a_username a_password
|
||||
$URL=$args[0]
|
||||
$FILENAME=$args[1]
|
||||
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
if ($args.count -gt 2) {
|
||||
$USERNAME=$args[2]
|
||||
$PASSWORD=$args[3]
|
||||
|
||||
$AUTH_PAIR=[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$($USERNAME):$($PASSWORD)"))
|
||||
$AUTH_HEADERS=@{Authorization="Basic $AUTH_PAIR"}
|
||||
Invoke-WebRequest -Uri "${URL}" -OutFile "${FILENAME}" -Headers ${AUTH_HEADERS}
|
||||
} else {
|
||||
Invoke-WebRequest -Uri "${URL}" -OutFile "${FILENAME}"
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./download.sh https://www.a.url/to/download filename_for_downloaded.file
|
||||
# Usage: ./download.sh https://www.a.url/to/download filename_for_downloaded.file a_username a_password
|
||||
URL=$1
|
||||
FILENAME=$2
|
||||
|
||||
if [ "$#" -gt 2 ]; then
|
||||
USERNAME=$3
|
||||
PASSWORD=$4
|
||||
curl -L -o "${FILENAME}" -u "${USERNAME}:${PASSWORD}" ${URL}
|
||||
else
|
||||
curl -L -o "${FILENAME}" ${URL}
|
||||
fi
|
@@ -1,11 +0,0 @@
|
||||
REM Usage: .\unpack.bat filename.zip
|
||||
REM Usage: .\unpack.bat filename.zip c:\
|
||||
@echo off
|
||||
set FILENAME=%1
|
||||
|
||||
if NOT "%~2" == "" (
|
||||
set DESTPATH=%2
|
||||
powershell -command "Expand-Archive -Force -Path '%FILENAME%' -DestinationPath '%DESTPATH%'"
|
||||
) else (
|
||||
powershell -command "Expand-Archive -Force -Path '%FILENAME%' -DestinationPath '%~dp0'"
|
||||
)
|
@@ -1,10 +0,0 @@
|
||||
# Usage: .\unpack.ps1 filename.zip
|
||||
# Usage: .\unpack.ps1 filename.zip c:\
|
||||
$FILENAME=$args[0]
|
||||
|
||||
if ($args.count -gt 1) {
|
||||
$DESTPATH=$args[1]
|
||||
Expand-Archive -Force -Path "${FILENAME}" -DestinationPath "${DESTPATH}"
|
||||
} else {
|
||||
Expand-Archive -Force -Path "${FILENAME}"
|
||||
}
|
@@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Usage: ./unpack.sh filename.zip
|
||||
# Usage: ./unpack.sh filename.zip /home/user
|
||||
FILENAME=$1
|
||||
|
||||
if [ "$#" -gt 1 ]; then
|
||||
DESTPATH=$2
|
||||
unzip -d ${DESTPATH} ${FILENAME}
|
||||
else
|
||||
unzip ${FILENAME}
|
||||
fi
|
Reference in New Issue
Block a user