Compare commits

..

6 Commits

23 changed files with 182 additions and 186 deletions

10
.env
View File

@@ -1,10 +0,0 @@
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

View File

@@ -3,10 +3,3 @@
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.
### 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.

View File

@@ -1,90 +1,3 @@
# 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:
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"
- apsbin-volume:/var/lib/postgresql/data:rw
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
volumes:
- apsdb-volume:/var/lib/postgresql/data:rw
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
volumes:
- apsadmindb-volume:/var/lib/postgresql/data:rw
search-aps:
image: elasticsearch:${ELASTICSEARCH_TAG}
environment:
discovery.type: single-node
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esindex-volume:/var/lib/postgresql/data:rw
proxy:
build: ./nginx-ingress
image: local/nginx-ingress:aps
ports:
- 8080:8080
depends_on:
- activiti-app
- activiti-admin
volumes:
apsbin-volume:
driver: local
apsdb-volume:
driver: local
apsadmindb-volume:
driver: local
esindex-volume:
driver: local

View File

@@ -1,8 +0,0 @@
FROM nginx:stable-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]

View File

@@ -1,15 +0,0 @@
#!/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;"

View File

@@ -1,59 +0,0 @@
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;
}
}
}

View File

@@ -0,0 +1,8 @@
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% %*

View File

@@ -0,0 +1,6 @@
# 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"

View File

@@ -0,0 +1,7 @@
#!/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}" $*

View File

@@ -0,0 +1,8 @@
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% %*

View File

@@ -0,0 +1,6 @@
# 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"

View File

@@ -0,0 +1,7 @@
#!/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}" $*

View File

@@ -0,0 +1,7 @@
#!/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}" $*

View File

@@ -0,0 +1,7 @@
#!/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}" $*

View File

@@ -0,0 +1,18 @@
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%

View File

@@ -0,0 +1,16 @@
# 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}'"

18
scripts/download-maven.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/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}"

13
scripts/download-url.bat Normal file
View File

@@ -0,0 +1,13 @@
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%
)

16
scripts/download-url.ps1 Normal file
View File

@@ -0,0 +1,16 @@
# 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}"
}

13
scripts/download-url.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/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

11
scripts/unpack.bat Normal file
View File

@@ -0,0 +1,11 @@
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'"
)

10
scripts/unpack.ps1 Normal file
View File

@@ -0,0 +1,10 @@
# 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}"
}

11
scripts/unpack.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/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