Alfresco Content Service deployment includes several services in order to provide different features for the product.
This blog post describes how these services are deployed, packaged and built from source code.
Resources
alfresco
This service is a WAR application deployed in Tomcat.
activemq
This service is an standard ActiveMQ with some customizations available in https://github.com/Alfresco/alfresco-docker-activemq
transform-misc
This Spring Boot service runs as a standalone application.
alfresco-pdf-renderer
This Spring Boot service runs as a standalone application.
imagemagick
This Spring Boot service runs as a standalone application.
libreoffice
This Spring Boot service runs as a standalone application.
tika
This Spring Boot service runs as a standalone application.
solr6
This service is a WAR deployed in a Jetty server.
share
This service is a WAR deployed in Tomcat server.
content-app
This service is an Angular app deployed on an NGINX or Apache Httpd server
proxy
This service is a customized NGINX server with some customizations available in https://github.com/Alfresco/acs-ingress/tree/acs-community-ingress
Building Alfresco from Source Code
In order to build the projects, following software needs to be installed in your computer:
Every service is built from source code, packaged and published to Docker Hub as Docker Image or to Nexus Repository as ZIP Distribution file. Every GitHub project includes instructions on how to perform these operations.
Let's take SearchServices project as sample in order to build this service from source code.
Step 1: Clone the source code from GitHub
$ git clone https://github.com/Alfresco/SearchServices.git
Step 2: Build the Maven Project
$ cd SearchServices/search-services $ mvn clean package -DskipTests
Step 3: ZIP Distribution file is produced by this Maven build in the following path
packaging/target/alfresco-search-services-2.1.0-SNAPSHOT.zip
Step 4: Docker Image can be built from packaging folder
$ cd packaging/target/docker-resources $ docker build . -t searchservices:local ... Successfully built a656068d4ec3 Successfully tagged searchservices:local
In case you want to build an specific version instead of master branch, just checkout the version tag (2.0.1 in the sample below) after cloning the project from GitHub.
$ git checkout 2.0.1