Building Alfresco Docker Images from Source Code

Showing results for 
Search instead for 
Did you mean: 

Building Alfresco Docker Images from Source Code

Alfresco Employee
3 1 7,887

Alfresco Docker Images are available in Docker Hub Alfresco account, this is the source for Docker Compose templates and Helm Chars deployments. From these Docker Images, customizations can be added extending the original Docker Images by using specific Dockerfile files.

However, this blog post is describing the process to build Alfresco Docker Images from GitHub source code. This will give you a deeper understanding on the insights of every Alfresco Docker Image available in Docker Hub.



Following diagram describes all the final and base Docker Images available in the Source Code.

Screenshot 2022-02-11 at 12.18.24.png



This Dockerfile is used as base of every final Docker Image, since it includes the installation of the OS and the JDK. There some options for the OS (Ubuntu, Debian, CentOS and ubi) and also some options for the JDK (java 8 and java 11), however almost every Docker Image in Docker Hub is using as base CentOS 7 and Java 11.


Both alfresco and share web applications are deployed in Apache Tomcat. This is the image installing the Tomcat software that also provides a multi layer scheme for versions 8, 9 and 10. Mainly, Alfresco Docker Images in Docker Hub, are using Tomcat 9.


Alfresco web application is built in two stages: the first one is the base-repo that includes Alfresco core web application.


The final version of the Alfresco Docker Image is built from acs-community-packaging project, that adds some addons and other configuration to the base image.


Share web application is built from base-tomcat, adding deployment artifacts and some configuration files.


Search Services application is built from base-java, since SOLR is deployed using Jetty instead of Tomcat. Application and configuration files are applied in this Dockerfile to produce the Docker Image.


Asynchronous Messaging broker, based in Apache ActiveMQ, is built by this Dockerfile. This image also relies on base-java and adds some default configuration to the broker.


Since Transform Engine can be deployed in smaller services (Tika, LibreOffice, ImageMagick and PDFRenderer), the All-In-One Docker Image is built from this Dockerfile. All required software is installed in the image and the Spring Boot application is configured.


When using ACS Enterprise version, the structure is similar to the one existing for Community. However, in this case, the original GitHub projects are private and the Docker Registry is hosted in To use this Enterprise Docker Images, customer credentials are required. Contact with Alfresco Support to get yours.



However, if you don't want to build Docker Images from scratch or to use default Alfresco Docker Images, you can build your own Docker Images from Alfresco Nexus Repository. Nice sample from this approach is provided by @afaust, available in the GitHub project

Detailed steps to get ZIP Distribution files from Nexus Repository are described in the different Dockerfiles.

If you're working with the Enterprise Docker Images, this approach to build customized Docker Images from our partner Xenit could help:



Check out this video to get some additional details on the process

About the Author
Angel Borroy is Hyland Developer Evangelist. Over the last 15 years, he has been working as a software architect on Java, BPM, document management and electronic signatures. He has been working with Alfresco during the last years to customize several implementations in large organizations and to provide add-ons to the Community based on Record Management and Electronic Signature. He writes (sometimes) on his personal blog He is (proud) member of the Order of the Bee.
1 Comment