Giter Site home page Giter Site logo

openpj / alfresco-process-services-docker-deployment Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 7.0 55 KB

Packaging of Docker containers for Alfresco Process Services (Enterprise)

License: Apache License 2.0

Dockerfile 28.84% Batchfile 39.72% Shell 31.44%
alfresco alfresco-development alfresco-management bpm process system-administration docker docker-compose ziaconsulting devops

alfresco-process-services-docker-deployment's Introduction

Alfresco Process Services Docker Deployment

Docker Compose template for deploying the Alfresco Process Services Platform.

The goal of this project is to help system administrators to manage a APS infrastructure deployed with Docker where they also need to configure parameters or install extensions. For developers interested to build extensions please see the Alfresco Process Services SDK.

The architecture template will help you deploying APS for you with the following tested components:

  • activiti-app 2.3.0
  • activiti-admin 2.3.0
  • ElasticSearch 7.17.1
  • PostgreSQL 13.1

Each component will have its own Docker Volume for managing the storage:

  • aps-db-sa-volume: database storage for activiti-app
  • aps-contentstore-sa-volume: file storage for attachments
  • aps-es-sa-volume: file storage for search indexes
  • aps-admin-db-sa-volume: database storage for activiti-admin

The provided run script will create these volumes for you.

Getting started

Use these instructions to get started with deploying your Alfresco Process Services Platform with Docker

Prerequisites

Before using this project you have to configure the following components:

  • Docker - Latest stable version
  • A valid APS license

Docker

  1. Download and install Docker

  2. Verify the installation of Docker:

$ docker -v
Docker version 20.10.12, build e91ed57
  1. Docker Compose is included as part of Windows and Mac Docker installers. For Linux-based users, install both the component separately with the following:
  1. Verify the installation of Docker Compose
$ docker-compose -v
docker-compose version 2.2.3

APS WAR artifacts, extensions and licensing

  1. Put your license in the activiti-license folder
  2. Put the JDBC driver used by APS in the jdbc-driver folder
  3. Put your activiti-app.war and activiti-admin.war in the extensions folder

Configuration

The structure of the project allows you to configure and install extensions against the APS platform as the following:

  • admin/tomcat/conf: put here all the Tomcat configuration files
  • jdbc-driver: put here the JDBC driver for Activiti App and Activiti Admin
  • logging: change your logging strategy here using logback.xml
  • properties: change here your activiti-app and activiti-admin properties
  • activiti-license: put here your valid APS license
  • docker-compose.yml: change here your deployment structure
  • Dockerfile: change here your container build for activiti-app
  • Dockerfile-admin: change here your continer build for activiti-admin
  • extensions: put here your Activiti App, Activiti Admin and extensions (activiti-app.war, activiti-admin.war, extensions JARs)

For more informations about how to build extensions please see Alfresco Process Services SDK.

Deploying your containers

A run script is provided in two formats:

  • run.sh for Linux and Mac users
  • run.bat for Windows users

Run the following command to deploy:

./run.sh build_start

Stop with:

./run.sh stop

Purge Docker volumes with:

./run.sh purge

Return in tail with:

./run.sh tail

Enterprise support

Official maintenance and support of this project is delivered by Zia Consulting

alfresco-process-services-docker-deployment's People

Contributors

flashboss avatar openpj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

alfresco-process-services-docker-deployment's Issues

Add CPU and Memory limits to the docker-compose template

It seems possible to add memory limitations for each container using Docker Compose V3.
The new element to add is deploy/resources and then we should add JVM memory limitations using percentages.
So we need to add them accordingly in order to consider something pretty close to a production environment.

The new element to add is deploy/resources such as the following:

deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 1024M

For any Java container we could also declare something like the following:
-XX:MinRAMPercentage=75 -XX:MaxRAMPercentage=75

Content storage broken: upload for document template is not working

We currently have an issue when we build from scratch the Docker Volume related to the file content store of APS.
Due to the change of the user in the Docker containers provided by Alfresco, in recent releases the container is running with the alfresco user but the /act_data folder is built using the root user.

Add build and build_start commands in the run.sh

We have to add build and build_start commands in order to make easier to just build the Docker Compose template or build and run everything with just a command. This will change the behavior of the start command that it will just run everything built with a start_build or build command.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.