gravitonian

Deploying and Running Alfresco Content Services 6.0

Blog Post created by gravitonian Employee on Nov 14, 2018

Introduction

The way you deploy and run the Alfresco Content Services (ACS) solution has changed significantly in version 6.0. Traditionally you would download an installer that would install Java, Tomcat, Database, WARs, tools, etc, and things would be configured to work together. Then you would use a script to kick things off. That’s no longer the case and there are no installers available. We will be working with Docker containers instead.

 

It’s now possible to kick off an ACS 6.0 solution from a number of Docker images. These images are available in the https://hub.docker.com repository. However, kicking off individual Docker containers based on these images, and configuring them to work together, might not be the most productive way to get up and running with ACS. To make things easier, and achieve a one-click to deploy and run solution, a Docker compose file is available to quickly deploy and run the ACS solution when you need to test something or work on a proof-of-concept (PoC).

 

There are also Helm Charts available to deploy the ACS solution in production as a Kubernetes cluster in for example AWS, this is not covered in this article.

Source Code and Tools

The source code for this article can be downloaded here. It will become useful when you read the section about creating custom ACS images.

 

There is now an Alfresco Extension Project generator that implements a lot of the concepts discussed in this article around building extensions and deploying them to containers. 

Concepts and Technologies

The following is a list of concepts (terms) and technologies that you will come in contact with when deploying and using the Alfresco Content Services version 6.0. If you know all about Docker, then you can skip this part.

Virtual Machine Monitor (Hypervisor)

A Hypervisor is used to run other OS instances on your local host machine. Typically it's used to run a different OS on your machine, such as Windows on a Mac. When you run another OS on your host it is called a guest OS, and it runs in a so called Virtual Machine (VM).

Image

An image is a number of layers that can be used to instantiate a container. This could be, for example, Java + Apache Tomcat. You can find all kinds of Docker Images on the public repository called Docker Hub. There are also private image repositories (for things like commercial enterprise images), such as the one Alfresco uses called Quay.  

Container

An instance of an image is called a container. You have an image, which is a set of layers as described. If you start this image, you have a running container of this image. You can have many running containers of the same image.

Docker

Docker is one of the most popular container platforms. Docker provides functionality for deploying and running applications in containers based on images.

Docker Compose

When you have many containers making up your solution, such as with ACS, and you need to configure each one of the containers so they work nicely together, then you need a tool for this.

Docker Compose is such a tool for defining and running multi-container Docker applications locally. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.

Dockerfile

A Dockerfile is a script containing a successive series of instructions, directions, and commands which are to be executed to form a new Docker image. Each command executed translates to a new layer in the image, forming the end product. They replace the process of doing everything manually and repeatedly. When a Dockerfile is finished executing, you end up having built a new image, which then you use to start a new Docker container.

Difference between Containers and Virtual Machines

It is important to understand the difference between using containers and using VMs. Here is a picture from What is a Container | Docker  that illustrates:

 

 

The main difference is that when you are running a container you are not kicking off a complete new OS instance. And this makes containers much more lightweight and quicker to start. A container is also taking up much less space on your hard-disk as it does not have to ship the whole OS.

Installing Software Required to Deploy ACS

Before we can deploy and run the Alfresco Content Services it is necessary to install the technologies that it uses.

Docker

You probably already have Docker installed as everything these days is easily accessible and run as containers. If you don't, go to the Docker Store and download the latest stable community edition (CE). Make sure the Docker daemon is running:

 

mbergljung$ docker -v

Docker version 17.09.0-ce, build afdb6d4

 

Also, verify that you have the recommended Docker version for running ACS, which is at least 17.09. You also want to verify the Docker Compose version, which should be at least 1.16.1:

$ docker-compose -v

docker-compose version 1.18.0, build 8dd22a9

 

If you are on Windows make sure that you are executing Docker commands from Windows PowerShell:

 

Getting to know the public Alfresco Docker Images

To find out about all the Alfresco images that are available at the Docker Hub registry go to https://hub.docker.com/u/alfresco/ and you will see a list of images belonging to the alfresco user. You should see something similar to the following screenshot (note: not all images are visible in the screenshot):

 

 

As we can see, a number of Docker images are available that relate to ACS:

 

  • alfresco/alfresco-share - the Alfresco Share web interface (i.e. share.war) running on Apache Tomcat
  • alfresco/alfresco-search-services - the Solr 6 based search service running on Jetty
  • alfresco/alfresco-content-repository-community - the Alfresco Repository app (i.e. alfresco.war) running on Apache Tomcat

 

There are also other supporting features available, such as Docker images for image and document transformation:

 

  • alfresco/alfresco-docker-imagemagick
  • alfresco/alfresco-docker-libreoffice
  • alfresco/alfresco-docker-alfresco-pdf-renderer

To build the alfresco/alfresco-content-repository-community image Alfresco uses the GitHub - Alfresco/acs-community-packaging  project. This project does not include any deployment templates. The GitHub - Alfresco/acs-community-deployment project contains deployment templates and instructions. It includes a Docker Compose script that can be used to launch a demo, test, or PoC ACS 6.0 system. You can customize this script if you like in order to run with different versions than those set by default, which are usually the latest versions.

When the ACS system is up and running you will have the following containers running:

  • Alfresco Community Repository 6.0 with:
    • Alfresco Share Services AMP
    • Alfresco Office Services (AOS) AMP
    • Alfresco vti-bin war - that helps with AOS integration
    • Alfresco Google Docs Integration Repo AMP
  • Alfresco Share 6.0 with:
    • Alfresco Google Docs Integration Share AMP
  • Alfresco Search Services (Solr 6)
  • A Postgres Database

 

To build custom images based on these Alfresco images in Docker Hub you need to create some Docker files. While doing this you can include custom AMPs and JARs. We will see how to do that later in the article. Before we do that we will walk through how to start an ACS system with Docker Compose and how to start an ACS system container by container.

Introduction to the Alfresco ACS Community Packaging Project

As mentioned, this is the project that is used to build Alfresco Community Repository artifacts, such as the Docker Image for ACS 6.0 Repo. Clone the ACS Community Packaging project so we can have a look at it:

 

$ git clone https://github.com/Alfresco/acs-community-packaging.git

 

$ cd acs-community-packaging/

 

Now, let’s look at what the different directories contain:

 

$ tree

.

├── CONTRIBUTING.md

├── LICENSE

├── README.md

 

(Contains a build script to create a Distribution ZIP with Repo, Share, and Solr4 etc, so you can install manually or facilitate upgrades)

├── distribution

│   ├── pom.xml

│   └── src

│       ├── assembly

│       │ └── distribution.xml

│       └── main

│           └── resources

│               ├── README.txt

│               ├── bin

│               │ ├── apply_amps.bat

│               │ ├── apply_amps.sh

│               │ ├── clean_tomcat.bat

│               │ └── clean_tomcat.sh

│               ├── licenses

│               │ ├── 3rd-party

...

│               │ ├── license.txt

│               │ └── notice.txt

│               └── web-server

│                   ├── conf-Tomcat7

│                   │   └── Catalina

│                   │       └── localhost

│                   │           └── alfresco.xml

│                   └── conf-Tomcat8

│                       └── Catalina

│                           └── localhost

│                               └── alfresco.xml

 

(Contains the Dockerfile to build the Alfresco Repo Docker image - alfresco/alfresco-content-repository-community)

├── docker-alfresco

│   ├── Dockerfile

│   ├── pom.xml

│   └── test

│       ├── docker-compose.yml

│       └── test.env

  

(Builds the alfresco.war)

├── war

 

As we can see, there’s no Alfresco Share or Search Service docker files. They reside in their own projects:

 

 

Note: We don’t need these projects for this article but it good to know about them to get an idea of how the images are produced.

 

If you are interested in the ACS 6.0 Enterprise packaging, then have a look at the http://github.com/Alfresco/acs-packaging project.

Introduction to the Alfresco ACS Community Deployment Project

This project contains the Docker Compose file that we will use in this article to start up an ASC Community 6.0 environment locally. If you are interested in the Kubernetes Helm charts to be able to deploy ACS Community with Kubernetes, then this is included in this project as well (Note: Kubernetes deployment is not covered in this article).

 

Clone the ACS Community Deployment project so we can have a look at it:

 

$ git clone https://github.com/Alfresco/acs-community-deployment.git 

 

$ cd acs-community-deployment/

 

Now, let’s look at what the different directories contain:

 

acs-community-deployment mbergljung$ tree

.

├── CONTRIBUTING.md

├── LICENSE

├── README.md

 

(Contains the Docker Compose YAML file to be able to start a full ACS 6.0 environment with Repo, Share, Solr, PostgreSQL)

├── docker-compose

│   ├── docker-compose.yml

│   └── test.env

 

(Contains Helm Charts to be able to deploy ACS Kubernetes cluster to AWS or locally via Minikube) 

└── helm

    └── alfresco-content-services-community

        ├── Chart.yaml

        ├── requirements.yaml

        ├── templates

        │   ├── NOTES.txt

        │   ├── _helpers.tpl

        │   ├── config-repository.yaml

        │   ├── config-share.yaml

        │   ├── deployment-repository.yaml

        │   ├── deployment-share.yaml

        │   ├── ingress-repository.yaml

        │   ├── ingress-share.yaml

        │   ├── svc-repository.yaml

        │   ├── svc-share.yaml

        └── values.yaml

 

If you are interested in the ACS 6.0 Enterprise deployment, then have a look at the http://github.com/Alfresco/acs-deployment project.

 

Deploying the ACS system with Docker Compose

Let’s see how easy it is to kick off a demo, test, or PoC ACS 6.0 solution with the supplied Docker Compose file. It will be similar to using the old installer and the shell script, except it will now be a whole lot easier to remove the installation and to keep several installations in parallel.

Using the Docker Compose file to start the ACS solution

After you have cloned the ACS Community Packaging project it’s time to get started.

Make sure the local machine has ports 5432, 8080, 8082, and 8083 free as they are used in the docker-compose.yml file.

Step into the directory where you cloned the acs-community-deployment project, then navigate into the docker-compose sub-directory, followed by command docker-compose up (if on Windows use Windows PowerShell):

 

acs-community-deployment mbergljung$ cd docker-compose/

docker-compose mbergljung$docker-compose up

 

Creating network "dockercompose_default" with the default driver

Pulling solr6 (alfresco/alfresco-search-services:1.1.1)...

1.1.1: Pulling from alfresco/alfresco-search-services

6fd64836e300: Already exists

8ff6188dadfc: Already exists

d1b16fb40528: Already exists

fed33e3ce39c: Already exists

96f24514a7b3: Pull complete

6f415ea07e70: Pull complete

e2f858f39b3d: Pull complete

Digest: sha256:be7bf1463c55ced0058becdcd9ad952b3f770213e55b82c119d0eca95e70c7d8

Status: Downloaded newer image for alfresco/alfresco-search-services:1.1.1

Pulling alfresco (alfresco/alfresco-content-repository-community:6.0.5-ea)...

6.0.5-ea: Pulling from alfresco/alfresco-content-repository-community

18b8eb7e7f01: Already exists

f9d093c4cd43: Pull complete

05b40fb97183: Pull complete

6afa3ee9ddb6: Pull complete

 

...

Digest: sha256:9ab9496c2e3f6f26877f27db1c003b64d7b3ffe0aefc0ffd123dbfa6cddd8f5a

Status: Downloaded newer image for alfresco/alfresco-content-repository-community:6.0.5-ea

Creating dockercompose_solr6_1    ... done

Creating dockercompose_share_1    ... done

Creating dockercompose_alfresco_1 ... done

Creating dockercompose_postgres_1 ... done

Attaching to dockercompose_share_1, dockercompose_alfresco_1, dockercompose_solr6_1, dockercompose_postgres_1

share_1     | Replace 'REPO_HOST' with 'alfresco' and 'REPO_PORT' with '8080'

share_1     | 23-May-2018 07:15:34.483 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.23

 

...

share_1     | 23-May-2018 07:15:34.850 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]

share_1     | 23-May-2018 07:15:34.897 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

share_1     | 23-May-2018 07:15:34.905 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]

share_1     | 23-May-2018 07:15:34.911 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

share_1     | 23-May-2018 07:15:34.912 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1286 ms

share_1     | 23-May-2018 07:15:34.976 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]

share_1     | 23-May-2018 07:15:34.977 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.23

share_1     | 23-May-2018 07:15:34.998 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/manager]

postgres_1  | The files belonging to this database system will be owned by user "postgres".

postgres_1  | This user must also own the server process.

postgres_1  |

postgres_1  | The database cluster will be initialized with locale "en_US.utf8".

postgres_1  | The default database encoding has accordingly been set to "UTF8".

postgres_1  | The default text search configuration will be set to "english".

postgres_1  |

postgres_1  | Data page checksums are disabled.

postgres_1  |

postgres_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok

postgres_1  | creating subdirectories ... ok

postgres_1  | selecting default max_connections ... 100

postgres_1  | selecting default shared_buffers ... 128MB

postgres_1  | selecting dynamic shared memory implementation ... posix

postgres_1  | creating configuration files ... ok

postgres_1  | running bootstrap script ... ok

share_1     | 23-May-2018 07:15:36.158 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/manager] has finished in [1,157] ms

share_1     | 23-May-2018 07:15:36.160 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/docs]

share_1     | 23-May-2018 07:15:36.186 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/docs] has finished in [26] ms

share_1     | 23-May-2018 07:15:36.187 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/examples]

alfresco_1  | 23-May-2018 07:15:36.245 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.28

 

...

 

alfresco_1  | 23-May-2018 07:15:37.284 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]

share_1     | 23-May-2018 07:15:37.320 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [86] ms

share_1     | 23-May-2018 07:15:37.321 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/share]

 

...

alfresco_1  | 23-May-2018 07:15:37.490 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]

alfresco_1  | 23-May-2018 07:15:37.490 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.28

alfresco_1  | 23-May-2018 07:15:37.586 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/ROOT.war]

alfresco_1  | 23-May-2018 07:15:37.693 WARNING [localhost-startStop-1] org.apache.catalina.startup.SetContextPropertiesRule.begin [SetContextPropertiesRule]{Context} Setting property 'debug' to '100' did not find a matching property.

...

postgres_1  | waiting for server to start....2018-05-23 07:15:37.855 UTC [39] LOG:  listening on IPv4 address "127.0.0.1", port 5432

...

org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/alfresco]

solr6_1     | 2018-05-23 07:15:44.592 INFO  (main) [   ] o.e.j.s.Server jetty-9.3.8.v20160314

solr6_1     | 2018-05-23 07:15:45.800 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter  ___      _       Welcome to Apache Solr? version 6.3.0

solr6_1     | 2018-05-23 07:15:45.812 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _   Starting in standalone mode on port 8983

solr6_1     | 2018-05-23 07:15:45.813 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_|  Install dir: /opt/alfresco-search-services/solr

solr6_1     | 2018-05-23 07:15:46.072 INFO  (main) [   ] o.a.s.s.SolrDispatchFilter |___/\___/_|_|    Start time: 2018-05-23T07:15:45.817Z

solr6_1     | 2018-05-23 07:15:48.368 INFO  (main) [   ] o.e.j.s.ServerConnector Started ServerConnector@71687585{HTTP/1.1,[http/1.1]}{0.0.0.0:8983}

solr6_1     | 2018-05-23 07:15:48.382 INFO  (main) [   ] o.e.j.s.Server Started @5374ms

share_1     | 23-May-2018 07:15:49.439 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

share_1     | May 23, 2018 7:15:49 AM org.apache.catalina.core.ApplicationContext log

share_1     | INFO: No Spring WebApplicationInitializer types detected on classpath

share_1     | May 23, 2018 7:15:49 AM org.apache.catalina.core.ApplicationContext log

share_1     | INFO: Initializing Spring root WebApplicationContext

share_1     | 2018-05-23 07:15:56,036  INFO  [config.packaging.ModulePackageManager] [localhost-startStop-1] Found 1 module package(s)

share_1     |  2018-05-23 07:15:56,043  INFO  [config.packaging.ModulePackageManager] [localhost-startStop-1] Alfresco / Google Docs Share Module, 3.0.4.2, The Share side artifacts of the Alfresco / Google Docs Integration.

share_1     |

share_1     |  2018-05-23 07:15:56,735  INFO  [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl

share_1     |  2018-05-23 07:15:56,741  INFO  [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js

share_1     |  2018-05-23 07:15:56,753  INFO  [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl

share_1     |  2018-05-23 07:15:56,755  INFO  [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js

alfresco_1  | 23-May-2018 07:15:57.311 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

alfresco_1  | May 23, 2018 7:15:57 AM org.apache.catalina.core.ApplicationContext log

alfresco_1  | INFO: No Spring WebApplicationInitializer types detected on classpath

alfresco_1  | May 23, 2018 7:15:57 AM org.apache.catalina.core.ApplicationContext log

alfresco_1  | INFO: Initializing Spring root WebApplicationContext

share_1     |  2018-05-23 07:16:01,063  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 393 Web Scripts (+0 failed), 411 URLs

share_1     |  2018-05-23 07:16:01,063  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 8 Package Description Documents (+0 failed)

share_1     |  2018-05-23 07:16:01,064  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 0 Schema Description Documents (+0 failed)

share_1     |  2018-05-23 07:16:01,148  INFO  [extensions.webscripts.AbstractRuntimeContainer] [localhost-startStop-1] Initialised Surf Container Web Script Container (in 4380.056ms)

share_1     |  2018-05-23 07:16:01,178  INFO  [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl

share_1     |  2018-05-23 07:16:01,185  INFO  [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js

share_1     |  May 23, 2018 7:16:02 AM org.apache.catalina.core.ApplicationContext log

share_1     | INFO: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)

share_1     | May 23, 2018 7:16:02 AM org.apache.catalina.core.ApplicationContext log

share_1     | INFO: Initializing Spring FrameworkServlet 'Spring Surf Dispatcher Servlet'

share_1     | 23-May-2018 07:16:02.147 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/share] has finished in [24,826] ms

share_1     | 23-May-2018 07:16:02.161 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]

share_1     | 23-May-2018 07:16:02.178 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]

share_1     | 23-May-2018 07:16:02.189 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 27277 ms

solr6_1     | 2018-05-23 07:16:02.717 WARN  (Thread-12) [   x:alfresco] o.a.s.h.c.AlfrescoSolrClusteringComponent No default engine for document clustering.

solr6_1     | 2018-05-23 07:16:03.890 WARN  (Thread-12) [   x:archive] o.a.s.h.c.AlfrescoSolrClusteringComponent No default engine for document clustering.

alfresco_1  | 2018-05-23 07:16:10,967  INFO  [domain.schema.SchemaBootstrap] [localhost-startStop-1] Ignoring script patch (post-Hibernate): patch.db-V4.2-metadata-query-indexes

alfresco_1  |  2018-05-23 07:16:10,969  INFO  [domain.schema.SchemaBootstrap] [localhost-startStop-1] Ignoring script patch (post-Hibernate): patch.db-V5.1-metadata-query-indexes

alfresco_1  |  2018-05-23 07:16:10,969  INFO  [domain.schema.SchemaBootstrap] [localhost-startStop-1] Ignoring script patch (post-Hibernate): patch.db-V5.2-remove-jbpm-tables-from-db

alfresco_1  |  2018-05-23 07:16:11,335  INFO  [alfresco.repo.admin] [localhost-startStop-1] Using database URL 'jdbc:postgresql://postgres:5432/alfresco' with user 'alfresco'.

alfresco_1  |  2018-05-23 07:16:11,336  INFO  [alfresco.repo.admin] [localhost-startStop-1] Connected to database PostgreSQL version 10.1

alfresco_1  |  2018-05-23 07:16:18,048  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1]

alfresco_1  |  2018-05-23 07:16:18,198  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Authentication' subsystem, ID: [Authentication, managed, alfrescoNtlm1] complete

alfresco_1  |  2018-05-23 07:16:21,173  INFO  [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor Repository Template Processor for extension ftl

alfresco_1  |  2018-05-23 07:16:21,179  INFO  [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor Repository Script Processor for extension js

alfresco_1  |  2018-05-23 07:16:24,280  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'ContentStore' subsystem, ID: [ContentStore, managed, unencrypted]

alfresco_1  |  2018-05-23 07:16:24,315  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'ContentStore' subsystem, ID: [ContentStore, managed, unencrypted] complete

alfresco_1  |  2018-05-23 07:16:24,369  INFO  [domain.schema.SchemaBootstrap] [localhost-startStop-1] Connecting to database: jdbc:postgresql://postgres:5432/alfresco, UserName=alfresco, PostgreSQL JDBC Driver

alfresco_1  |  2018-05-23 07:16:24,370  INFO  [domain.schema.SchemaBootstrap] [localhost-startStop-1] Schema managed by database dialect org.alfresco.repo.domain.dialect.PostgreSQLDialect.

alfresco_1  |  2018-05-23 07:16:24,507  WARN  [domain.schema.SchemaBootstrap] [localhost-startStop-1] Schema validation found 85 potential problems, results written to: /usr/local/tomcat/temp/Alfresco/Alfresco-PostgreSQLDialect-Validation-Pre-Upgrade-alf_-1930649379894062897.txt

 

...

alfresco_1  |  2018-05-23 07:16:33,528  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'Search' subsystem, ID: [Search, managed, solr6]

alfresco_1  |  2018-05-23 07:16:33,902  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Search' subsystem, ID: [Search, managed, solr6] complete

alfresco_1  |  2018-05-23 07:16:37,234  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'thirdparty' subsystem, ID: [thirdparty, default]

alfresco_1  |  2018-05-23 07:16:37,322  INFO  [transform.pdfrenderer.AlfrescoPdfRendererContentTransformerWorker] [localhost-startStop-1] Using Alfresco PDF Renderer: Alfresco PDF Renderer Version 1.1 [5b0e0b81dt] 2018-02-20 15:34:00 using Pdfium [e53460ff] 2018-02-19 18:34:00 CEST

alfresco_1  |  2018-05-23 07:16:37,410  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'thirdparty' subsystem, ID: [thirdparty, default] complete

alfresco_1  |  2018-05-23 07:16:37,410  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'OOoJodconverter' subsystem, ID: [OOoJodconverter, default]

alfresco_1  |  May 23, 2018 7:16:37 AM org.artofsolving.jodconverter.office.ProcessPoolOfficeManager <init>

alfresco_1  | INFO: ProcessManager implementation is LinuxProcessManager

alfresco_1  | May 23, 2018 7:16:37 AM org.artofsolving.jodconverter.office.OfficeProcess start

alfresco_1  | INFO: Using original OpenOffice command: [/opt/libreoffice5.4/program/soffice.bin, -accept=socket,host=127.0.0.1,port=8100;urp;, -env:UserInstallation=file:///usr/local/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100, -headless, -nocrashreport, -nodefault, -nofirststartwizard, -nolockcheck, -nologo, -norestore]

alfresco_1  | May 23, 2018 7:16:37 AM org.artofsolving.jodconverter.office.OfficeProcess start

alfresco_1  | INFO: starting process with acceptString 'socket,host=127.0.0.1,port=8100,tcpNoDelay=1' and profileDir '/usr/local/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100'

alfresco_1  | May 23, 2018 7:16:37 AM org.artofsolving.jodconverter.office.OfficeProcess start

alfresco_1  | INFO: started process; pid = 81

alfresco_1  | May 23, 2018 7:16:39 AM org.artofsolving.jodconverter.office.ManagedOfficeProcess$6 attempt

alfresco_1  | WARNING: office process died with exit code 81; restarting it

alfresco_1  | May 23, 2018 7:16:39 AM org.artofsolving.jodconverter.office.OfficeProcess start

alfresco_1  | INFO: Using original OpenOffice command: [/opt/libreoffice5.4/program/soffice.bin, -accept=socket,host=127.0.0.1,port=8100;urp;, -env:UserInstallation=file:///usr/local/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100, -headless, -nocrashreport, -nodefault, -nofirststartwizard, -nolockcheck, -nologo, -norestore]

alfresco_1  | May 23, 2018 7:16:39 AM org.artofsolving.jodconverter.office.OfficeProcess start

alfresco_1  | INFO: starting process with acceptString 'socket,host=127.0.0.1,port=8100,tcpNoDelay=1' and profileDir '/usr/local/tomcat/temp/.jodconverter_socket_host-127.0.0.1_port-8100'

alfresco_1  | May 23, 2018 7:16:39 AM org.artofsolving.jodconverter.office.OfficeProcess start

alfresco_1  | INFO: started process; pid = 92

alfresco_1  | May 23, 2018 7:16:39 AM org.artofsolving.jodconverter.office.OfficeConnection connect

alfresco_1  | INFO: connected: 'socket,host=127.0.0.1,port=8100,tcpNoDelay=1'

alfresco_1  | 2018-05-23 07:16:40,021  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'OOoJodconverter' subsystem, ID: [OOoJodconverter, default] complete

alfresco_1  |  2018-05-23 07:16:40,025  WARN  [repo.admin.ConfigurationChecker] [localhost-startStop-1] The 'dir.root' property is set to a relative path './alf_data'.  'dir.root' should be overridden to point to a specific folder.

alfresco_1  |  2018-05-23 07:16:40,026  INFO  [repo.admin.ConfigurationChecker] [localhost-startStop-1] The root data directory ('dir.root') is: ./alf_data

alfresco_1  |  2018-05-23 07:16:40,042  INFO  [admin.patch.PatchExecuter] [localhost-startStop-1] Checking for patches to apply ...

alfresco_1  |  2018-05-23 07:16:40,172  WARN  [admin.patch.PatchExecuter] [localhost-startStop-1] Patch description is not available: Patch[ id=patch.contentFormFolderType, description=patch.contentFormFolderType.description, fixesFromSchema=0, fixesToSchema=36, targetSchema=37, ignored=false]

alfresco_1  |  2018-05-23 07:16:40,199  WARN  [admin.patch.PatchExecuter] [localhost-startStop-1] Patch description is not available: Patch[ id=patch.redeploySubmitProcess, description=patch.redeploySubmitProcess.description, fixesFromSchema=0, fixesToSchema=57, targetSchema=58, ignored=false]

alfresco_1  |  2018-05-23 07:16:40,722  INFO  [admin.patch.PatchExecuter] [localhost-startStop-1] Applying patch 'patch.exampleJavaScript' (Loads sample Javascript file into datadictionary scripts folder).

alfresco_1  |  2018-05-23 07:16:40,764  INFO  [admin.patch.PatchExecuter] [localhost-startStop-1] Applying patch 'patch.siteLoadPatch.swsdp' (Loads a sample site into the repository.).

alfresco_1  |  2018-05-23 07:16:40,840  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'sysAdmin' subsystem, ID: [sysAdmin, default]

alfresco_1  |  2018-05-23 07:16:40,865  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'sysAdmin' subsystem, ID: [sysAdmin, default] complete

 

...

alfresco_1  |  2018-05-23 07:16:44,159  INFO  [repo.module.ModuleServiceImpl] [localhost-startStop-1] Found 4 module package(s).

alfresco_1  |  2018-05-23 07:16:44,178  INFO  [repo.module.ModuleServiceImpl] [localhost-startStop-1] Installing module 'alfresco-aos-module' version 1.2.0-RC2.

alfresco_1  |  2018-05-23 07:16:44,197  INFO  [repo.module.ModuleServiceImpl] [localhost-startStop-1] Installing module 'org.alfresco.integrations.google.docs' version 3.1.0-RC1.

alfresco_1  |  2018-05-23 07:16:44,221  INFO  [repo.module.ModuleServiceImpl] [localhost-startStop-1] Installing module 'alfresco-share-services' version 6.0.0.

alfresco_1  |  2018-05-23 07:16:44,243  INFO  [repo.module.ModuleServiceImpl] [localhost-startStop-1] Installing module 'alfresco-trashcan-cleaner' version 2.3.

alfresco_1  |  2018-05-23 07:16:44,264  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'fileServers' subsystem, ID: [fileServers, default]

alfresco_1  |  2018-05-23 07:16:44,759  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'fileServers' subsystem, ID: [fileServers, default] complete

alfresco_1  |  2018-05-23 07:16:44,760  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'imap' subsystem, ID: [imap, default]

alfresco_1  |  2018-05-23 07:16:44,898  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'imap' subsystem, ID: [imap, default] complete

alfresco_1  |  2018-05-23 07:16:44,898  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'email' subsystem, ID: [email, outbound]

alfresco_1  |  2018-05-23 07:16:45,075  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'email' subsystem, ID: [email, outbound] complete

alfresco_1  |  2018-05-23 07:16:45,075  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'email' subsystem, ID: [email, inbound]

alfresco_1  |  2018-05-23 07:16:45,135  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'email' subsystem, ID: [email, inbound] complete

alfresco_1  |  2018-05-23 07:16:45,135  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'Subscriptions' subsystem, ID: [Subscriptions, default]

alfresco_1  |  2018-05-23 07:16:45,159  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Subscriptions' subsystem, ID: [Subscriptions, default] complete

alfresco_1  |  2018-05-23 07:16:45,189  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'Synchronization' subsystem, ID: [Synchronization, default]

alfresco_1  |  2018-05-23 07:16:45,336  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Synchronization' subsystem, ID: [Synchronization, default] complete

alfresco_1  |  2018-05-23 07:16:45,354  INFO  [service.descriptor.DescriptorService] [localhost-startStop-1] Alfresco JVM - v1.8.0_161-b12; maximum heap size 878.500MB

alfresco_1  |  2018-05-23 07:16:45,355  INFO  [service.descriptor.DescriptorService] [localhost-startStop-1] Server Mode :UNKNOWN

alfresco_1  |  2018-05-23 07:16:45,359  INFO  [service.descriptor.DescriptorService] [localhost-startStop-1] Alfresco Content Services started (Community Early Access). Current version: 6.0.5 (r1c848a2d-b73) schema 10,201. Originally installed version: 6.0.5 (r1c848a2d-b73) schema 10,201.

alfresco_1  |  2018-05-23 07:16:45,374  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'ActivitiesFeed' subsystem, ID: [ActivitiesFeed, default]

alfresco_1  |  2018-05-23 07:16:45,733  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'ActivitiesFeed' subsystem, ID: [ActivitiesFeed, default] complete

alfresco_1  |  2018-05-23 07:16:45,734  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'Replication' subsystem, ID: [Replication, default]

alfresco_1  |  2018-05-23 07:16:45,779  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'Replication' subsystem, ID: [Replication, default] complete

alfresco_1  |  2018-05-23 07:16:46,914  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Starting 'googledocs' subsystem, ID: [googledocs, drive]

alfresco_1  |  2018-05-23 07:16:47,053  INFO  [management.subsystems.ChildApplicationContextFactory] [localhost-startStop-1] Startup of 'googledocs' subsystem, ID: [googledocs, drive] complete

alfresco_1  |  2018-05-23 07:16:50,438  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 396 Web Scripts (+0 failed), 543 URLs

alfresco_1  |  2018-05-23 07:16:50,445  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 1 Package Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:50,445  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 0 Schema Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,235  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 396 Web Scripts (+0 failed), 543 URLs

alfresco_1  |  2018-05-23 07:16:51,235  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 1 Package Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,236  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 0 Schema Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,240  INFO  [extensions.webscripts.AbstractRuntimeContainer] [localhost-startStop-1] Initialised Repository Web Script Container (in 3933.765ms)

alfresco_1  |  2018-05-23 07:16:51,284  INFO  [extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl

alfresco_1  |  2018-05-23 07:16:51,296  INFO  [extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js

alfresco_1  |  2018-05-23 07:16:51,833  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 396 Web Scripts (+0 failed), 543 URLs

alfresco_1  |  2018-05-23 07:16:51,833  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 1 Package Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,834  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 0 Schema Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,914  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 14 Web Scripts (+0 failed), 103 URLs

alfresco_1  |  2018-05-23 07:16:51,914  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 0 Package Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,915  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 0 Schema Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,967  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 14 Web Scripts (+0 failed), 103 URLs

alfresco_1  |  2018-05-23 07:16:51,967  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 0 Package Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,967  INFO  [extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 0 Schema Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,969  INFO  [extensions.webscripts.AbstractRuntimeContainer] [localhost-startStop-1] Initialised Public Api Web Script Container (in 631.7979ms)

alfresco_1  |  2018-05-23 07:16:51,993  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 14 Web Scripts (+0 failed), 103 URLs

alfresco_1  |  2018-05-23 07:16:51,993  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 0 Package Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:51,993  INFO  [extensions.webscripts.DeclarativeRegistry] [asynchronouslyRefreshedCacheThreadPool1] Registered 0 Schema Description Documents (+0 failed)

alfresco_1  |  2018-05-23 07:16:52,105  WARN  [scripts.servlet.X509ServletFilterBase] [localhost-startStop-1] clientAuth does not appear to be set for Tomcat. clientAuth must be set to 'want' for X509 Authentication

alfresco_1  |  2018-05-23 07:16:52,105  WARN  [scripts.servlet.X509ServletFilterBase] [localhost-startStop-1] Attempting to set clientAuth=want through JMX...

alfresco_1  |  2018-05-23 07:16:52,117  WARN  [scripts.servlet.X509ServletFilterBase] [localhost-startStop-1] Unable to set clientAuth=want through JMX.

alfresco_1  |  23-May-2018 07:16:56.806 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/alfresco] has finished in [72,893] ms

alfresco_1  | 23-May-2018 07:16:56.815 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]

alfresco_1  | 23-May-2018 07:16:56.831 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]

alfresco_1  | 23-May-2018 07:16:56.841 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 79493 ms

share_1     | 2018-05-23 07:17:05,651  INFO  [web.site.EditionInterceptor] [http-nio-8080-exec-3] Successfully retrieved license information from Alfresco.

alfresco_1  | 2018-05-23 07:17:20,434  INFO  [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-1] Starting 'Transformers' subsystem, ID: [Transformers, default]

alfresco_1  |  2018-05-23 07:17:20,845  INFO  [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-1] Startup of 'Transformers' subsystem, ID: [Transformers, default] complete

share_1     |  2018-05-23 07:17:29,731  INFO  [web.scripts.ImapServerStatus] [http-nio-8080-exec-10] Successfully retrieved IMAP server status from Alfresco: disabled

As we can see, the logs from each container are available as an aggregated console log so we can follow exactly what is happening. Note the AMPs that are applied by default: Alfresco AOS Service, Google Docs Integration, Alfresco Share Services, and the Trashcan Cleaner.

Accessing the Alfresco Share web application

We can now access the Web UI at http://localhost:8080/share. The login credentials are: admin/admin