Coder Social home page Coder Social logo

alfresco / alfresco-docker-installer Goto Github PK

View Code? Open in Web Editor NEW
138.0 89.0 54.0 25.41 MB

Generator to build Docker Compose templates to deploy Alfresco Community

License: Other

JavaScript 65.34% Dockerfile 27.67% Shell 7.00%
alfresco deployment docker docker-compose hacktoberfest

alfresco-docker-installer's Introduction

generator-alfresco-docker-installer

Alfresco Docker Installer

DISCLAIMER

IMPORTANT This project is not supported by Alfresco in any way. Despite deployments using Docker Compose are considered a valid approach for ACS deployment (Community and Enterprise), this alfresco-docker-installer tool is not the official Alfresco recommendation. Please, check https://github.com/Alfresco/acs-deployment/tree/master/docker-compose in order to understand official recommendations from Alfresco.

Description

Since Alfresco Installer was discontinued from Alfresco 5.2, this project provides a command line installer for Alfresco Community 6.1, 6.2, 7.0, 7.1, 7.2, 7.3, 7.4, 23.1 and 23.2 to be used in Docker Compose installations.

This project generates a Docker Compose template ready to be used including following features:

  • RAM limits for every service according to global memory available for Docker
  • PostgreSQL or MariaDB as database (no other option but MySQL is supported for Community)
  • Search Services configured for environments using several languages for contents or from operative systems / browsers
  • Outbound Email service (smtp)
  • LDAP service for identification (based in OpenLDAP)
  • Several Community addons available
  • Wrapper Script for waiting the alfresco boot to finish

This generator creates a base Docker Template with the configuration selected, but you should review volumes, configuration, modules & tuning parameters before using this composition in Production environments.

WARNING Depending on the OS used for hosting Docker, some adjustments must be made in default volumes configuration:

  • For Mac OS, produced Docker Compose template should work as is
  • For Windows, safer approach is to use standard Docker Volumes are used instead of Bind Docker Volumes. This alternative is enabled when choosing "Windows host" option in the generator.
  • For Linux, some local folder permission must be adjusted if you are not using 'root' to run Docker. Review the Docker Volumes section before running the produced Docker Compose template. Also checkout this tutorial with video recording on how to use this tool in Ubuntu 20.04 LTS: Installing Alfresco 6 Community Edition in Ubuntu

Installation

This program has following dependencies:

  • Node.js
  • Yeoman

Yeoman requires the Node to have a version higher than v14

You can download and install Node.js from official web page:

https://nodejs.org/en/download/

Or you can use any of the package managers provided by the product:

https://nodejs.org/en/download/package-manager/

Once Node.js is installed, you can install Yeoman as a module:

$ npm install -g yo

And finally, you can install this generator:

$ npm install --global generator-alfresco-docker-installer

Note for NodeJS 16+

When using NodeJS 16+, depending on your terminal, it's required to run one of the commands below before using the project.

# macOS, Linux and Windows Git Bash
export NODE_OPTIONS=--openssl-legacy-provider

# Windows Command Prompt:
set NODE_OPTIONS=--openssl-legacy-provider

# Windows PowerShell:
$env:NODE_OPTIONS="--openssl-legacy-provider"

Deployment

Deployment is provided for Docker Compose, so following dependencies must be satisfied by the server used to run the generated configuration:

  • Docker
  • Docker Compose

You can install Docker Desktop for Windows or Mac and Docker Server for Linux.

https://docs.docker.com/install/

You need also to add Docker Compose program to your installation.

https://docs.docker.com/compose/install/

Running

Create a folder where Docker Compose template files are going to be produced and run the generator.

If you downloaded this project, don't reuse source code folder. Create an empty folder to generate Docker Compose template anywhere.

$ mkdir docker-compose
$ cd docker-compose

$ yo alfresco-docker-installer

Several options are provided in order to build the configuration.

? Which ACS version do you want to use? 23.2

You can use Alfresco 6.1, 6.2, 7.0, 7.1, 7.2, 7.3, 7.4, 23.1 or 23.2

? Do you want to deploy Alfresco in ARCH64 computer (like Apple Silicon)?

Use ARCH64 Docker Images, mandatory when using Apple Silicon computers for deployment. This feature is only provided for ACS 7.3+

? How may GB RAM are available for Alfresco (16 is minimum required)? 16

Alfresco platform could work with less than 16 GB RAM, but it's recommended to provide at least 16 GB in your Docker server. This generator will limit the amount of memory for every service in order to match your resources.

? Do you want to use HTTPs for Web Proxy?

This option enables HTTPs for every service. Default SSL certificates (public and private) are provided in config/cert folder. These certificates are not recommended for prod environments, so it's required to replace these files with your own certificates.

? What is the name of your server?

If you are deploying on a server different than localhost, include in this option the name of your server. For instance: alfresco.com

? Choose the password for your admin user (admin)

Alfresco provides admin password by default, choose a different one for new deployments. When using this option on pre-populated Alfresco Repositories, this setting is not applied, since the password is already stored in the existent database. By default system.preferred.password.encoding is using bcrypt10 algorithm, so passwords are stored in database ciphered with salt.

? What HTTP port do you want to use (all the services are using the same port)? 80 or 443

HTTP port to be used by every service. If you are running on a Linux computer, you'll need to specify a port greater than 1024 when not starting as root user.

? Do you want to use FTP (port 2121)? No

Enable configuration for FTP, using by default port 2121.

? Do you want to use MariaDB instead of PostgreSQL? No

Alfresco uses PostgreSQL by default, but alternatively MariaDB can be used as database.

? Are you using different languages (this is the most common scenario)? Yes

By default, many organizations are storing document in different languages or the users are accessing the platform with browser configured in different languages. If this is your case, enable this configuration.

? Do you want to search in the content of the documents?

By default, Alfresco is indexing the content of a document (in addition to the metadata). Disable this option if you don't require searching by the content of the documents.

? Would you like to use HTTP or Shared Secret for Alfresco-SOLR communication?
  http  << Not available when using ACS 7.2+
  https
  secret

By default, communication between Alfresco and SOLR happens in plain http. Since external APIs are protected by proxy and SOLR Web Console is protected by user and password, default configuration may be the right one for many deployments. This option has been disabled from ACS 7.2!

When using secret option (only available from 7.1.0), Alfresco and SOLR communication is happening in plain HTTP but including a shared secret word in HTTP Header. This should be a safer approach for open environments.

In addition, when using https option, communication between SOLR and Alfresco is using Mutual TLS. This protocol includes client authentication using digital certificates, that may be also a safe alternative.

? Do you want to use the Events service (ActiveMQ)? No

This question is only available from ACS 7.3+. ActiveMQ for Community Edition is only required when using Out-Of-Process SDK, it may be omitted for other use cases.

? Do you want to use credentials for Events service (ActiveMQ)? No

By default, there is no authentication for ActiveMQ service. When choosing Yes for this option, you'll be prompted for username and password to be used to access ActiveMQ Alfresco Broker. In case you enable this option, remember to use these credentials to consume messages from ActiveMQ when using Out of Process SDK or similar.

? Do you want to create an internal SMTP server? No

This service provides an internal SMTP server (for outgoing emails) based in a Postfix Relay. If you want to use your own mail server, you can configure it manually after the generation of the Docker Compose template.

? Do you want to create an internal LDAP server? No

This service provides an internal OpenLDAP server (for authentication). If you want to use your own LDAP or AD server, you can configure it manually after the generation of the Docker Compose template.

? Select the addons to be installed:
  Google Docs 3.1.0                             : https://github.com/Alfresco/google-docs/tree/V3.0.3
  JavaScript Console 0.7                        : https://github.com/AFaust/js-console
  Order of the Bee Support Tools 1.2.2.0        : https://github.com/OrderOfTheBee/ootbee-support-tools
  Share Site Creators 0.0.8                     : https://github.com/jpotts/share-site-creators
  Share Site Space Templates 1.1.4-SNAPSHOT     : https://github.com/jpotts/share-site-space-templates
  Simple OCR 2.3.1 (for ACS 6.x)                : https://github.com/keensoft/alfresco-simple-ocr
  Alfresco OCR Transformer 1.0.0 (for ACS 7+)   : https://github.com/aborroy/alf-tengine-ocr
  ESign Cert 1.8.4                              : https://github.com/ambientelivre/alfresco-esign-cert
  Edit with LibreOffice in Alfresco Share 0.3.0 : https://github.com/zylklab/alfresco-share-online-edition-addon
  Alfresco PDF Toolkit 1.4.x                    : https://github.com/OrderOfTheBee/alfresco-pdf-toolkit

A small catalog of trusted addons is provided by default, but you can install any other using the deployment folders.

? Do you want Docker to manage volume storage (recommended when dealing with permission issues)?

Standard Docker Volumes can be used instead of Bind Docker Volumes. This options is easier to run in environments with folder permission issues.

? Do you want to use a start script? Yes

The wrapper script for the docker-compose file allows nice features as a wait for alfresco to finish the boot and much more. Use "./start.sh -h" for more information.

? Do you want to get the script to create host volumes? No

When using Linux as host, you can get the script create_volumes.sh in Docker Compose folder. The script should be run only once, and be the first one to be executed, before the docker-compose up command, to create the initial data and logs host folders with the expected permissions.

Passing parameters from command line

Default values for options can be specified in the command line, using a --name=value pattern. When an options is specified in the command line, the question is not prompted to the user, so you can generate a Docker Compose template with no user interaction.

$ yo alfresco-docker-installer --acsVersion=6.1

Parameter names reference

  • --acsVersion: 6.1, 6.2, 7.0, 7.1, 7.2, 7.3 or 7.4
  • --ram: number of GB available for Docker
  • --mariadb: true or false
  • --crossLocale: true or false
  • --smtp: true or false
  • --ldap: true or false
  • --addons: list of addons to be installed: js-console, ootbee-support-tools, share-site-creators, simple-ocr, alf-tengine-ocr, esign-cert
  • --startscript: true or false
  • --volumesscript: true or false
  • --https: true or false
  • --serverName: localhost default
  • --password: admin user default password
  • --port: 80 default
  • --ftp: true or false
  • --solrHttpMode: http, https or secret

Deploying additional addons

If you want to deploy additional addons, use deployment folders for Alfresco and Share services.

Alfresco

├── alfresco
│   ├── modules             > Deployment directory for addons
│   │   ├── amps            > Repository addons with AMP format
│   │   └── jars            > Repository addons with JAR format

Share

└── share                   
    └── modules             > Deployment directory for addons
        ├── amps            > Share addons with AMP format
        └── jars            > Share addons with JAR format

Using Docker Compose

Once the files have been generated, review that configuration is what you expected and add or modify any other settings. After that, just start Docker Compose.

$ docker-compose up --build --force-recreate -d

You can shutdown it at any moment using following command.

$ docker-compose down

Alternatively if you choose to apply the start script, you can start the deployment with

./start.sh

It will wait until alfresco is reachable and shutdown with

./start.sh -d

More options are available with.

./start.sh -h

Following folder structure is generated when Docker Compose is running. Depending on the configuration selected, some folders cannot be available in your server.

├── alfresco                > DOCKER
│   ├── Dockerfile          > Docker Image for Alfresco Repository
│   ├── bin                 > [OCR] Shell script to communicate with OCR Service
│   ├── modules             > Deployment directory for addons
│   │   ├── amps            > Repository addons with AMP format
│   │   └── jars            > Repository addons with JAR format
│   └── ssh                 > [OCR] Shared key to communicate with OCR Service

├── config                  > CONFIGURATION
│   └── nginx.conf          > NGINX Configuration file
│   └── nginx.htpasswd      > Password to protect the access to Solr Web Console

├── config/cert             > SSL Certificates (only when using HTTPs)
│   ├── localhost.cer       > Public part for the SSL Certificate
│   └── localhost.key       > Private part for the SSL Certificate

├── data                    > DATA STORAGE (it's recommend to perform a backup of this folder)
│   ├── alf-repo-data       > Content Store for Alfresco Repository
│   ├── activemq-data       > Message Store for ActiveMQ
│   ├── ldap                > [LDAP] Internal database
│   ├── ocr                 > [OCR] Temporal folder shared between Alfresco Repository and OCR
│   ├── postgres-data       > Internal storage for database
│   ├── slap.d              > [LDAP] Control folder
│   └── solr-data           > Internal storage for SOLR

├── docker-compose.yml      > Main Docker Compose template

├── logs                    > LOGS
│   ├── alfresco            > Alfresco Repository logs
│   ├── postgres            > PostgreSQL database logs
│   └── share               > Share Web Application logs

├── ocrmypdf                > OCR
│   ├── Dockerfile          > Docker Image for ocrmypdf program
│   └── assets              > Additional configuration to communicate with Alfresco Repository

├── search                  > SOLR
│   └── Dockerfile          > Docker Image for SOLR

└── share                   > SHARE
    ├── Dockerfile          > Docker Image for Share
    └── modules             > Deployment directory for addons
        ├── amps            > Share addons with AMP format
        └── jars            > Share addons with JAR format

Docker Volumes

In order to enable persistent storage, several Docker Volumes are configured by default. When using from Linux, some permissions on your local folders need to be set.

You can skip all the following steps and have the volumes automatically configured by using the create_volumes.sh script optionally created during the project creation.

Identifying the right UID for every folder can be obtained by starting Docker Compose without the volumes declaration. Following lines should be commented in docker-compose.yml file.

    alfresco:
#        volumes:
#           - ./data/alf-repo-data:/usr/local/tomcat/alf_data
#           - ./logs/alfresco:/usr/local/tomcat/logs   

    postgres:
#        volumes:
#            - ./data/postgres-data:/var/lib/postgresql/data
#            - ./logs/postgres:/var/log/postgresql

    solr6:
#        volumes:
#            - ./data/solr-data:/opt/alfresco-search-services/data

    activemq:
#        volumes:
#            - activemq-data:/opt/activemq/data <% } %>

Once the volumes have been commented, start Docker Compose.

$ docker-compose up --build --force-recreate

After that, you can find the SOLR Docker Image and the UID of the user owning data folders (solr by default).

$ docker ps
ded1748f961f    nginx:stable-alpine   tmp_proxy_1
b01e0abb3c0e    tmp_alfresco          tmp_alfresco_1
4fef719112ad    postgres:10.1         tmp_postgres_1
99a4bd6ede52    tmp_share             tmp_share_1
554236b9bedf    tmp_solr6             tmp_solr6_1

$ docker exec -it tmp_solr6_1 sh

$ cd /opt/alfresco-search-services/

$ ls -la
drwxr-xr-x 5 solr solr 4096 Nov 21 13:07 data

$ id -u solr
33007

Stop Docker Container and set the right permissions on your host folder.

$ docker-compose down

$ sudo chown -R 33007 data/solr-data

You could need to adjust also the permissions for postgres user inside PostgreSQL Docker Image. By default the UID is 999, but you can perform similar operations as above to guess this number.

$ docker ps
ded1748f961f    nginx:stable-alpine   tmp_proxy_1
b01e0abb3c0e    tmp_alfresco          tmp_alfresco_1
4fef719112ad    postgres:10.1         tmp_postgres_1
99a4bd6ede52    tmp_share             tmp_share_1
554236b9bedf    tmp_solr6             tmp_solr6_1

$ docker exec -it tmp_postgres_1 sh

$ cd /var/lib/postgresql/

$ ls -la
drwx------ 19 postgres postgres 4096 Jul 24 14:05 data

$ id -u postgres
999

Stop Docker Container and set the right permissions on your host folder.

$ sudo chown -R 999 data/postgres-data
$ sudo chown -R 999 logs/postgres

Additionally, permissions for alfresco user inside Alfresco Docker Image may be adjusted.

$ docker ps
ded1748f961f    nginx:stable-alpine   tmp_proxy_1
b01e0abb3c0e    tmp_alfresco          tmp_alfresco_1
4fef719112ad    postgres:10.1         tmp_postgres_1
99a4bd6ede52    tmp_share             tmp_share_1
554236b9bedf    tmp_solr6             tmp_solr6_1

$ docker exec -it tmp_alfresco_1 sh

$ ls -la alf_data
drwx------ 19 alfresco alfresco 4096 Jul 24 14:05 alf_data

$ id -u alfresco
33000

Stop Docker Container and set the right permissions on your host folder.

$ sudo chown -R 33000 data/alf-repo-data
$ sudo chown -R 33000 logs/alfresco

Finally, you may set the right permissions for activemq Docker Image by using following commands:

$ mkdir -p ./data/activemq-data
$ sudo chown -R 33031 data/activemq-data

Uncomment the lines in your docker-compose.yml for the volumes declaration and your Docker Compose should be ready to use.

Windows volumes

When using Windows, standard Docker Volumes can be used instead of Bind Docker Volumes.

For instance, for an installation in a folder named tmp, following volumes are created.

$ docker volume ls --filter name=tmp_
DRIVER              VOLUME NAME
local               tmp_alf-repo-data
local               tmp_alf-repo-logs
local               tmp_alf-share-logs
local               tmp_postgres-data
local               tmp_postgres-logs
local               tmp_solr-data

You need to take care of this volumes for backup and other operations.

In case you want to clean your environment (loosing all the data inside), you can remove all this Docker containers to start from scratch.

For instance, for an installation in a folder name tmp, following command will remove all the information persisted.

$ docker volume rm $(docker volume ls -q --filter name=tmp_)

Docker Images

Service URLs

These are default URLs, selecting HTTP port 80.

Default URLs

http://localhost

Default credentials

  • user: admin
  • password: admin (or chosen password)

http://localhost/share

Default credentials

  • user: admin
  • password: admin (or chosen password)

http://localhost/alfresco

Default credentials

  • user: admin
  • password: admin (or chosen password)

http://localhost/solr

Default credentials

  • user: admin
  • password: admin

http://localhost/api-explorer

Default credentials

  • user: admin
  • password: admin (or chosen password)

http://localhost:8161

Default credentials: none (or the username and password chosen)

http://localhost:8088

Default credentials

  • user: cn=admin,dc=alfresco,dc=org
  • password: admin

Building

It's not required to build or download this project in order to use it. But this can be done using default npm tools.

The module is available at npm:

https://www.npmjs.com/package/generator-alfresco-docker-installer

If you want to build it locally, you need an environment with Node.js and Yeoman. And from the root folder of the project, just type:

$ npm link
$ npm update

alfresco-docker-installer's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alfresco-docker-installer's Issues

Problem ubuntu Step 11/14

have problem with ubuntu install.. do i need centOS for this?

Step 11/14 : RUN yum -y update && yum -y install wget && yum clean all && set -x && wget https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/api-explorer/${API_EXPLORER_TAG}/api-explorer-${API_EXPLORER_TAG}.war -O /usr/local/tomcat/webapps/api-explorer.war

ERROR: Service 'alfresco' failed to build: The command '/bin/sh -c yum -y update && yum -y install wget && yum clean all && set -x && wget https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/api-explorer/${API_EXPLORER_TAG}/api-explorer-${API_EXPLORER_TAG}.war -O /usr/local/tomcat/webapps/api-explorer.war' returned a non-zero code: 1

command: docker-compose up --build --force-recreate -d

webdav problems

hi,

tested today the latest release and generated alfresco 6.2 with proxy and ssl and server name test.example.com

seems to work ok, but i am getting problems with webdav:

  • when trying to connect to webdav from linux/gnome/nautilus (url: davs://test.example.com/alfresco/webdav) i am getting a basic auth login window, where i am not asked for username/password but only for a password: "Enter your password for Alfresco DAV ..."

  • when exposing alfresco on port 8080 and connecting without proxy (url: dav://10.0.x.x:8080/alfresco/webdav) i am getting the correct login popup with username/password and i can login.

  • when logged in, deleting, creating, renaming files is working o.k. moving a folder throws an error. trying to upload a file or folder from local disk: error: file exists.

  • getting these errors not only with nautilus/gnome but with windows/carot dav client also.

any idea how to get rid of these problems?

google-docs actions in documentlibrary always visible

i can't seem to get rid of the google docs actions "create - google docs, spreadsheet, ..." in share.

set in alfresco global.properties:
googledocs.enabled=false

share-config-custom.xml (inside share container):

in this section:

<config evaluator="string-compare" condition="DocumentLibrary" replace="true">`

google-docs is disabled too:

<!--
         Google Docs™ integration
      -->
      <google-docs>
         <!--
            Enable/disable the Google Docs UI integration (Extra types on Create Content menu, Google Docs actions).
         -->
         <enabled>false</enabled>

         <!--
            The mimetypes of documents Google Docs allows you to create via the Share interface.
            The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs&trade; Document
         -->
         <creatable-types>
            <creatable type="doc">application/vnd.openxmlformats-officedocument.wordprocessingml.document</creatable>
            <creatable type="xls">application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</creatable>
            <creatable type="ppt">application/vnd.ms-powerpoint</creatable>
         </creatable-types>
      </google-docs>

what am i missing here?

Logout redirects to http://mydomain.com:8080

My relevant selection on the alfresco-docker-installer was:
Do you want to use HTTPs for Web Proxy? No
What is the name of your server? mydomain.com
What HTTP port do you want to use (all the services are using the same port)? 8080

I'm using a reverse proxy in front of the nginx-proxy for HTTPS.
Therefore I added these lines to share/Dockerfile:

RUN sed -i '/Connector port="8080"/a scheme="https" secure="true"' /usr/local/tomcat/conf/server.xml && \
   sed -i '/Connector port="8080"/a proxyName="mydomain.com" proxyPort="443"' /usr/local/tomcat/conf/server.xml

I can log in to alfresco share at https://mydomain.com/share/ and everything works fine.
However, when I click on /logout I get redirected to http://mydomain.com:8080 which times out.

I can't figure out the option / setting that is relevant so that Alfresco Share uses the correct logout URL which would be https://mydomain.com.

Any help or hint is greatly appreciated.

Andreas

ESign stuck

After installing the alfresco with the esign addon i went to sign a simple pdf document; after selecting the page the esign box was stuck without any response from the application.

Unexpected API error for {name of container} (HTTP code 502)

Everything works fine, but after 10-30 minutes all containers were turned off with Error:
Unexpected API error for {name of container} (HTTP code 502)
and
Response body: Bad response from docker engine.
When i try any commands, i get: open \.\pipe\docker_engine_linux: The system cannot find the file specified.

Any suggestions please?

I found this in log:
2020-09-01 09:38:37,698 ERROR [org.springframework.web.context.ContextLoader] [localhost-startStop-1] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.beans.factory.config.CustomEditorConfigurer#0' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean 'customPropertyEditorRegistrar' while setting bean property 'propertyEditorRegistrars' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customPropertyEditorRegistrar' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean 'NamespaceService' while setting bean property 'namespaceService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dictionaryDAO' defined in class path resource [alfresco/core-services-context.xml]: Cannot resolve reference to bean 'tenantService' while setting bean property 'tenantService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantService' defined in URL [jar:file:/usr/local/tomcat/webapps/alfresco/WEB-INF/lib/alfresco-repository-7.134.1.jar!/alfresco/mt/mt-context.xml]: Cannot resolve reference to bean 'tenantAdminDAO' while setting bean property 'tenantAdminDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tenantAdminDAO' defined in class path resource [alfresco/dao/dao-context.xml]: Cannot resolve reference to bean 'repoSqlSessionTemplate' while setting bean property 'sqlSessionTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'repoSqlSessionTemplate' defined in class path resource [alfresco/ibatis/ibatis-context.xml]: Cannot resolve reference to bean 'repoSqlSessionFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'repoSqlSessionFactory' defined in class path resource [alfresco/ibatis/ibatis-context.xml]: Cannot resolve reference to bean 'dialectResourceLoader' while setting bean property 'resourceLoader'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialectResourceLoader' defined in class path resource [alfresco/ibatis/ibatis-context.xml]: Cannot create inner bean 'org.springframework.beans.factory.config.PropertyPathFactoryBean#645ca699' of type [org.springframework.beans.factory.config.PropertyPathFactoryBean] while setting bean property 'dialectClass'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.beans.factory.config.PropertyPathFactoryBean#645ca699' defined in class path resource [alfresco/ibatis/ibatis-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dialect': FactoryBean threw exception on object creation; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The connection attempt failed.)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:314)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
...

Errors continues with problems of creating beans.

How to set "synchronization.import.cron" in JAVA_OPTS?

Hi, I configured ldap.synchronization and ldap.authentication in docker-compose.yml adding the configurations to JAVA_OPTS:

services:
    alfresco:
        build:
          context: ./alfresco
          args:
            ALFRESCO_TAG: ${ALFRESCO_CE_TAG}
            DB: postgres
            API_EXPLORER_TAG: ${API_EXPLORER_TAG}
        mem_limit: 2368m
        depends_on:
            - postgres
        environment:
            JAVA_OPTS : '
                -Ddb.driver=org.postgresql.Driver
                -Ddb.username=alfresco
                -Ddb.password=alfresco
                -Ddb.driver=org.postgresql.Driver
                -Ddb.url=jdbc:postgresql://postgres:5432/alfresco
                -Ddb.schema.update=true
                -Dsolr.host=solr6
                -Dsolr.port=8983
                -Dsolr.secureComms=none
                -Dsolr.baseUrl=/solr
                -Dindex.subsystem.name=solr6
                -Dalfresco.host=alfresco.contoso.net
                -Dalfresco.port=80

                -Dshare.host=alfresco.contoso.net
                -Dshare.port=80

                -Daos.baseUrlOverwrite=http://alfresco.contoso.net/alfresco/aos
                -Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true"
                -Ddeployment.method=DOCKER_COMPOSE
                -Dcsrf.filter.enabled=false
                -Dlocal.transform.service.enabled=true
                -DlocalTransform.pdfrenderer.url=http://alfresco-pdf-renderer:8090/
                -DlocalTransform.imagemagick.url=http://imagemagick:8090/
                -DlocalTransform.libreoffice.url=http://libreoffice:8090/
                -DlocalTransform.tika.url=http://tika:8090/
                -DlocalTransform.misc.url=http://transform-misc:8090/
                -Dlegacy.transform.service.enabled=true
                -Dalfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
                -Djodconverter.url=http://libreoffice:8090/
                -Dimg.url=http://imagemagick:8090/
                -Dtika.url=http://tika:8090/
                -Dtransform.misc.url=http://transform-misc:8090/
                -Dcsrf.filter.enabled=false
                -Dalfresco.restApi.basicAuthScheme=true
                -Dauthentication.protection.enabled=false
                -XX:+UseG1GC -XX:+UseStringDeduplication
                -Xms1856m -Xmx1856m
                -Docr.command=/opt/alfresco/bin/ocrmypdf.sh
                -Docr.output.verbose=true
                -Docr.output.file.prefix.command=
                -Docr.extra.commands="-j1 --author keensoft --rotate-pages -l spa+eng+fra --deskew --clean --skip-text"
                -Docr.server.os=linux

                -Dauthentication.chain=alfinst:alfrescoNtlm,ldap1:ldap-ad
                -Dntlm.authentication.sso.enabled=false
                -Dldap.authentication.allowGuestLogin=false
                -Dldap.authentication.userNameFormat=%[email protected]
                -Dldap.authentication.java.naming.provider.url=ldap://server1.contoso.net:3268
                -Dldap.authentication.defaultAdministratorUserNames=Administrator
                -Dldap.authentication.java.naming.referral=ignore
                -Dldap.authentication.java.naming.read.timeout=60000
                -Dldap.synchronization.java.naming.security.authentication=simple
                -Dldap.synchronization.java.naming.security.principal=readonly@contoso.local
                -Dldap.synchronization.java.naming.security.credentials=password
                -Dldap.synchronization.personQuery="(&(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=contoso,DC=local)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(memberOf:1.2.840.113556.1.4.1941:=CN=testAlfresco,CN=Users,DC=contoso,DC=LOCAL))"
                -Dldap.synchronization.personDifferentialQuery="(&(objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=contoso,DC=local)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(memberOf:1.2.840.113556.1.4.1941:=CN=testAlfresco,CN=Users,DC=contoso,DC=LOCAL))"
                -Dsynchronization.synchronizeChangesOnly=false
                -Dldap.synchronization.groupSearchBase=DC=contoso,DC=local
                -Dldap.synchronization.userSearchBase=DC=contoso,DC=local
		-Dsynchronization.import.cron=0 30 0/1 * * ?
            '
        volumes:
            - ./data/alf-repo-data:/usr/local/tomcat/alf_data
            - ./logs/alfresco:/usr/local/tomcat/logs
            - ./data/ocr/input:/ocr_input
            - ./data/ocr/output:/ocr_output

...

Everything works except -Dsynchronization.import.cron : at container boot, every JAVA_OPTS parameter is parsed, and in the logs I notice that the '*' character in -Dsynchronization.import.cron=0 30 0/1 * * ? is expanded in a list of filenames:

Command line argument: -Dsynchronization.import.cron=0 30 0/1 alf_data alfresco-mmt amps bin BUILDING.txt conf CONTRIBUTING.md include lib LICENSE logs native-jni-lib NOTICE README.md RELEASE-NOTES RUNNING.txt shared temp webapps work alf_data alfresco-mmt amps bin BUILDING.txt conf CONTRIBUTING.md include lib LICENSE logs native-jni-lib NOTICE README.md RELEASE-NOTES RUNNING.txt shared temp webapps work ?

and is not correctly interpreted by alfresco.
Is there a way to escape '*' character, or a better place to put these settings? Notice that all JAVA_OPTS are between single quotes ( ' ) so putting -Dsynchronization.import.cron=0 30 0/1 * * ? between single quotes breaks JAVA_OPTS definition in docker-compose.yml .

access error

Hi,
i have problem to launch installer, i have can deploy nodejs12, npm, yo ... with my root user. I launch with root user and i get :

localhost:/opt/test_installer # yo alfresco-docker-installer
/usr/local/lib/node_modules/yo/node_modules/conf/index.js:128
throw err;
^

Error: EACCES: permission denied, open '/root/.config/insight-nodejs/insight-yo.json'
at Object.openSync (fs.js:462:3)
at Object.readFileSync (fs.js:364:35)
at Conf.get store [as store] (/usr/local/lib/node_modules/yo/node_modules/conf/index.js:108:18)
at Conf.get (/usr/local/lib/node_modules/yo/node_modules/conf/index.js:47:27)
at Insight.get optOut [as optOut] (/usr/local/lib/node_modules/yo/node_modules/insight/lib/index.js:52:22)
at Object. (/usr/local/lib/node_modules/yo/lib/cli.js:205:48)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14) {
errno: -13,
syscall: 'open',
code: 'EACCES',
path: '/root/.config/insight-nodejs/insight-yo.json'
}

I have try to change user, change right to file, ... but no solution.
please help me

Default credentials do not work

I use the credentials admin, admin after installation and I get this message: You have entered an unknown username or password

SSL-Setup not working for /share

I have answered the question Do you want to use HTTPs for Web Proxy? with yes at the alfresco-docker-installer prompt and selected 443 as the port.
I have pointed my DNS-entry to the server and replaced the localhost-certs in the nginx config folder with my own certificates.
I can access the base-url, /alfresco, /solr, /api-exlorer and when I access /share I get the error message

400 Bad Request
The plain HTTP request was sent to HTTPS port

even though I did type the https:// prefix in front of the hostname.

When I prefix the URL I got redirected to (/share/page/) with https, I get the Alfresco share login page. When i put in my credentials and select login I get redirected to /share/page/dologin but receive another error page there:

Something's wrong with this page...
We may have hit an error or something might have been removed or deleted, so check that the URL is correct.
Alternatively you might not have permission to view the page (it could be on a private site) or there could have been an internal error. Try checking with your IT team.
If you're trying to get to your home page and it's no longer available you should change it by clicking your name on the toolbar.

Here is what I have set / tried which I think may be relevant:

  • I've updated -Dshare.host=, -Daos.baseUrlOverwrite= for the alfresco container and -Dalfresco.host= for the share container with my hostname.
  • I replaced localhost for the proxyName option in the sed command in share/Dockerfile with my FQDN.

Any sort of hint or help is greatly appreciated.

LDAP service does not seem to restart properly

If I accept an LDAP server when I create my project, I spin up the stack, I turn it down and then spin it up again, the LDAP container fails to start.

Here is the logged error:

openldap | Error: the config directory (/etc/ldap/slapd.d) is empty but not the database directory (/var/lib/ldap)
openldap | *** /container/run/startup/slapd failed with status 1

In fact ./data/ldap has files while ./data/slap.d is empty.

question: csrf stuff

i've noticed that you disable csrf with: -Dcsrf.filter.enabled=false by default.

why is that? is it not necessary any more here in this usecase?

i was used to (non docker deployment) enable csrf filtering in a share-config-custom.xml file like for example:

...
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
      <properties>
         <token>Alfresco-CSRFToken</token>
         <referer>https?:\/\/test.example.com\/.*</referer>
         <origin>https?:\/\/test.example.com.*</origin>
      </properties>
   </config>
...

Do i have to include such a setting to the share-config-custom-dev.xml file if i want csrf filtering to be active? (with replace="true")?

the default share-config-custom.xml file used in the share docker image does contain a longer list of stuff regarding to csrf settings.
do i have to copy this stuff over to share-config-custom-dev.xml file too, if i use the above listed snippet, or to be safe against some csrf stuff in general?

Max

Move storage to named Docker Volumes

In order to provide wider compatibility, local host volumes should be moved to named volumes. This will enable easier Windows hosted deployments.

Email invite using http instead of https

Hello,

changing share/web-extension/share-config-custom-dev.xml to enable External Users invitation produces an email where the link is using http://site_name:443/share/page/accept-invite?inv etc. etc. URL instead of https.

It was not possible to find in the docker compose file to find a place where to put some option like share.protocol=https or similar without breaking the installation.

Using error_page 497 301 =307 https://$host:$server_port$request_uri; in config/nginx.conf allows the connection to pass without nginx complaining about http traffic on a ssl enabled 443 port, but the system just responds with the default share login page.

Clicking again on the invite link gives the message "Processing invite acceptance failed" etc. etc. , like the invite was accepted and a password selected.

I have a warning about share services not running though, maybe while trying to fix the invite link something else got broken.

Is there something that could be done on docker-compose.yaml file to fix the invite protocol?

localhost redirect from share

Hi all,
first of all, thanks for this amazing tool, it's very valuable to keep learning about Alfresco deployment, project structure and good practices with new versions. I will apply some ideas taken from this project for sure in our future deployments.
I don't know if it's an issue or not, but when I try to deploy this solution on a server other than localhost, I can't access to https://IP/share, it redirects me to https://localhost/share/page. I can neither login, because share detects a possible CSRF attack, coming from localhost.
They all seemed to came from the same place, somewhere replacing my server IP for localhost.
I'm creating a pull request with my solution, erasing the proxyName="localhost" from the tomcat connector in share, written by the Dockerfile. Hope this helps someone else.
Please, if that's not an issue, tell me why (security considerations, not developed for deployments other than localhost, etc etc).

Gracias Ángel, sigue ahí!

Add opencmis.server properties for HTTPS deployment

Calling https://<external-proxy-host-name>/alfresco/api/-default-/public/cmis/versions/1.1/browser/ works but returns HTTP links for repositoryUrl and rootFolderUrl which breaks applications that don't follow redirects(e.g Java programs).

Adding the following two lines to the JAVA_OPTS of the alfresco container solved this for me:

-Dopencmis.server.override=true
-Dopencmis.server.value=https://<external-proxy-host-name>

Customizar Login in ADF

Buenos dias, tengo hecha la instalacion de Alfresco Community mediante vuestro docker-compose. El funcionamiento es correcto pero me gustaria customizar el login del ADF, por lo que he visto se hace modificando un archivo:
https://www.alfresco.com/abn/adf/docs/tutorials/customising-login/
Archivo a modificar: login.component.html
El problema es que no encuentro el archivo para crearle un Volume, entiendo que estará en el contenedor de la imagen --> alfresco/alfresco-content-app:master-latest
He intentado acceder al shell del contenedor pero da error:
docker exec -i -t [ID-CONTAINER] /bin/bash
Error -->
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: "/bin/bash": stat /bin/bash: no such file or directory": unknown

Me podeis decir como modifico el archivo necesario? mi idea era copiarlo del contenedor al host y hacer un volume al propio archivo de tal manera que los cambios se queden persistentes...

Gracias

Problem with using certbot for LetsEncrypt Cert

Hello,,
first of all - thank you very much for this great work!
I got in trouble with using let's encrypt for getting ssl certs
I'm running into:
Failed authorization procedure. docs.xxxx.xx (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://docs.xxxxx.xx/.well-known/acme-challenge/

 Domain: docs.xxxx.xx
   Type:   unauthorized
   Detail: Invalid response from
   http://docs.xxxx.xx/.well-known/acme-challenge/_ydSy1nPmzxSA5ol8jq2QHsagAA6AAZXbuIyUwOui8U
   [xx.xx.xx.xx]: 503

I used:
certbot certonly --standalone --agree-tos --cert-path /tmp/cert -d docs.xxxx.xx
Also I turned of the nginx on my system, witch was blocking port 80.

Any clue how to solve?
Best regards
Martin

Postgres exit with weird message after a new installation

With Ubuntu ,after all the steps did without any errors ...when i try to do the access from the web i have an error where told me the login isn't correct....i absolutely tried the login with admin and pass admin, but nothing happened always that error wrong username and password...
so i tried to understand cause i think is a problem from the database...
anyway i tried this command:

docker-compose images
Container Repository Tag Image Id Size

dockercompose_alfresco_1 dockercompose_alfresco latest 62d37b43fa7f 2.27 GB
dockercompose_content-app_1 alfresco/alfresco-content-app master-latest c8cd3bd2d26c 30.9 MB
dockercompose_ocrmypdf_1 dockercompose_ocrmypdf latest 8c4b2d669ce2 475 MB
dockercompose_postgres_1 postgres 10.1 ec61d13c8566 274 MB
dockercompose_proxy_1 nginx stable-alpine aaad4724567b 20.2 MB
dockercompose_share_1 dockercompose_share latest f5f086a8a452 720 MB
dockercompose_solr6_1 dockercompose_solr6 latest 901eac40f922 1.03 GB

and after this command:
docker-compose ps
Name Command State Ports

dockercompose_alfresco_1 catalina.sh run -security Up 8080/tcp
dockercompose_content-app_1 /entrypoint.sh Up 80/tcp, 8080/tcp
dockercompose_ocrmypdf_1 /usr/sbin/sshd -D Up 22/tcp
dockercompose_postgres_1 docker-entrypoint.sh postg ... Exit 1
dockercompose_proxy_1 nginx -g daemon off; Up 0.0.0.0:80->80/tcp
dockercompose_share_1 /usr/local/tomcat/shared/c ... Up 8000/tcp, 8080/tcp
dockercompose_solr6_1 /bin/sh -c $DIST_DIR/solr/ ... Up 8983/tcp

and so the postgres is down....so i wanted to understand the logs and i had this answer:

docker-compose logs postgres
Attaching to dockercompose_postgres_1
postgres_1 | 2020-01-03 19:25:57.347 UTC [1] FATAL: database files are incompatible with server
postgres_1 | 2020-01-03 19:25:57.347 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 10.1.

anyone can help me?

SMTP notification puts 8080 port onto address line

I have Alfresco configured to use standard HTTP port 80, that is nginx listens on that port. All services inside the system are configured to be using 8080 port for intercommunication. Everything works fine, but when I receive notification from SMTP I get links with 8080 port inserted:
http://r320:8080/share/page/user/12345/user-notifications. Expected to have:
http://r320/share/page/user/12345/user-notifications. Any suggestions how to configure the port which is used here?

possible issue with the javascript console ?

Hello,

Not sure this issue is related to the javascript console module or to the alfresco-docker-installer it self:

I can open the javascript console, can write some code but can't select the "run with folder (see attached screen capture).
Folder selection simply stays empty...

Does the javascript console on your reference install work well ?

Best regards.

Jean-Pierre

Some related logs , that show up few seconds after I use the javascript console:

2019-12-11 13:35:15,344 WARN [alfresco.cache.contentUrlTransactionalCache] [http-nio-8080-exec-8] Transactional update cache 'org.alfresco.cache.contentUrlTransactionalCache' is full (65000).
share_1 | 2019-12-11 13:35:41,350 INFO [webscripts.connector.RemoteClient] [http-nio-8080-exec-10] Exception calling (GET) http://alfresco:8080/alfresco/s/de/fme/jsconsole/serverInfo?alf_ticket=TICKET_84a083c2986a36409a53834552b21c486d3322c5
share_1 | 2019-12-11 13:35:41,370 INFO [webscripts.connector.RemoteClient] [http-nio-8080-exec-10] Error status 408 Read timed out
share_1 | java.net.SocketTimeoutException: Read timed out
......
.......
2019-12-11 13:36:03,675 WARN [cache.node.nodesTransactionalCache] [http-nio-8080-exec-8] Transactional update cache 'org.alfresco.cache.node.nodesTransactionalCache' is full (125000).

Capture_SelectFolder

Help needed : Solr UnknownHostException

I just need help. I don't know if it's my local environment but I am struggling to get a running application.
Solr keeps throwing these errors

2020-11-01 22:22:10.026 ERROR (org.alfresco.solr.AlfrescoCoreAdminHandler@648ee871_Worker-9) [ ] o.a.s.t.ShardStatePublisher Unable to publish this node state. A failure condition has been met during the outbound subscription message encoding process. See the stacktrace below for further details. java.net.UnknownHostException: alfresco

I followed the read me instructions. Up until the section Docker Volumes When I go beyond that section I get operation not permitted errors so I changed back the ownership

Can I get help on this? How can I get solr working please. I just need a running app. Please see my solr yml config below

solr6: build: context: ./search args: SEARCH_TAG: $SEARCH_CE_TAG SOLR_HOSTNAME: solr6 ALFRESCO_HOSTNAME: localhost ALFRESCO_COMMS: none CROSS_LOCALE: "true" mem_limit: 1184m environment: SOLR_ALFRESCO_HOST: "alfresco" SOLR_ALFRESCO_PORT: "8080" SOLR_SOLR_HOST: "solr6" SOLR_SOLR_PORT: "8983" SOLR_CREATE_ALFRESCO_DEFAULTS: "alfresco,archive" SOLR_JAVA_MEM: "-Xms928m -Xmx928m" SOLR_OPTS: " -XX:NewSize=336m -XX:MaxNewSize=336m " volumes: - ./data/solr-data:/opt/alfresco-search-services/data

ACS 6.2.1 support

Could we get support for Alfresco 6.2.1? I'm happy to provide a PR if you tell me the version numbers that need to be setup.

HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404

Hello - Hope someone can help me to get the alfresco ACS 6.2 up and running on my CentOS 8.2 machine. First and foremost, thank you to provide this docker-compose file.

I followed your instructions step by step (tried this several times) but no luck at all. I'm not able to login with user admin pwd admin. I run ./start.sh and lot of processing follows. After several minutes of processing it seams everything is looking good:

Successfully built bcababdcfb11
Successfully tagged docker-compose_ocrmypdf:latest
Creating docker-compose_ocrmypdf_1 ... done
Creating docker-compose_postgres_1 ... done
Creating docker-compose_solr6_1 ... done
Creating docker-compose_tika_1 ... done
Creating docker-compose_transform-misc_1 ... done
Creating docker-compose_activemq_1 ... done
Creating docker-compose_share_1 ... done
Creating docker-compose_alfresco-pdf-renderer_1 ... done
Creating docker-compose_libreoffice_1 ... done
Creating docker-compose_imagemagick_1 ... done
Creating docker-compose_alfresco_1 ... done
Creating docker-compose_content-app_1 ... done
Creating docker-compose_proxy_1 ... done
Waiting for alfresco to boot ...

But then the following error messages come up

waiting for 1 resources: http://localhost:80/alfresco/
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 502
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
HTTP(S) error for http://localhost:80/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to url:http://localhost:80/alfresco/ ...
....

After further several minutes the process terminates as outlined below

wait-on(35337) Timed out waiting for: http://localhost:80/alfresco/; exiting with error
Error: Timed out waiting for: http://localhost:80/alfresco/
at MergeMapSubscriber.project (/opt/docker-compose/node_modules/wait-on/lib/wait-on.js:130:25)
at MergeMapSubscriber._tryNext (/opt/docker-compose/node_modules/rxjs/internal/operators/mergeMap.js:67:27)
at MergeMapSubscriber._next (/opt/docker-compose/node_modules/rxjs/internal/operators/mergeMap.js:57:18)
at MergeMapSubscriber.Subscriber.next (/opt/docker-compose/node_modules/rxjs/internal/Subscriber.js:66:18)
at AsyncAction.dispatch [as work] (/opt/docker-compose/node_modules/rxjs/internal/observable/timer.js:31:16)
at AsyncAction._execute (/opt/docker-compose/node_modules/rxjs/internal/scheduler/AsyncAction.js:71:18)
at AsyncAction.execute (/opt/docker-compose/node_modules/rxjs/internal/scheduler/AsyncAction.js:59:26)
at AsyncScheduler.flush (/opt/docker-compose/node_modules/rxjs/internal/scheduler/AsyncScheduler.js:52:32)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)
Waiting failed -> exit 1

If I call the url to start Share or DigitalWorkspace (eg. http://myip/share) the Alfresco login page comes up, but I can't login with admin/admin.

I hope some can give me a hint to solve this issue. Thank you.

Best, Matthias

Ocrmypdf not work

Hi, i click on OCR option and do not work. See the message below from log:

alfresco_1 | Exception in thread "defaultAsyncAction3" java.lang.RuntimeException: java.lang.RuntimeException: org.alfresco.service.cmr.repository.ContentIOException: 08200037 Failed to copy content from file:
alfresco_1 | writer: ContentAccessor[ contentUrl=store://2019/9/20/23/7/99d27ddc-638d-42ef-b8e6-3a6fd0be0c1a.bin, mimetype=application/pdf, size=0, encoding=UTF-8, locale=en_US]
alfresco_1 | file: /usr/local/tomcat/temp/Alfresco/OCRTransformWorker_source_2056705859773778016_ocr.pdf
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction.executeImplInternal(OCRExtractAction.java:183)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction.access$200(OCRExtractAction.java:38)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction$1.execute(OCRExtractAction.java:164)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction$1.execute(OCRExtractAction.java:161)
alfresco_1 | at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction.executeInNewTransaction(OCRExtractAction.java:169)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction.access$100(OCRExtractAction.java:38)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction$ExtractOCRTask.run(OCRExtractAction.java:151)
alfresco_1 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
alfresco_1 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
alfresco_1 | at java.base/java.lang.Thread.run(Thread.java:834)
alfresco_1 | Caused by: java.lang.RuntimeException: org.alfresco.service.cmr.repository.ContentIOException: 08200037 Failed to copy content from file:
alfresco_1 | writer: ContentAccessor[ contentUrl=store://2019/9/20/23/7/99d27ddc-638d-42ef-b8e6-3a6fd0be0c1a.bin, mimetype=application/pdf, size=0, encoding=UTF-8, locale=en_US]
alfresco_1 | file: /usr/local/tomcat/temp/Alfresco/OCRTransformWorker_source_2056705859773778016_ocr.pdf
alfresco_1 | at es.keensoft.alfresco.ocr.OCRTransformWorker.transform(OCRTransformWorker.java:86)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRExtractAction.executeImplInternal(OCRExtractAction.java:181)
alfresco_1 | ... 10 more
alfresco_1 | Caused by: org.alfresco.service.cmr.repository.ContentIOException: 08200037 Failed to copy content from file:
alfresco_1 | writer: ContentAccessor[ contentUrl=store://2019/9/20/23/7/99d27ddc-638d-42ef-b8e6-3a6fd0be0c1a.bin, mimetype=application/pdf, size=0, encoding=UTF-8, locale=en_US]
alfresco_1 | file: /usr/local/tomcat/temp/Alfresco/OCRTransformWorker_source_2056705859773778016_ocr.pdf
alfresco_1 | at org.alfresco.repo.content.AbstractContentWriter.putContent(AbstractContentWriter.java:491)
alfresco_1 | at es.keensoft.alfresco.ocr.OCRTransformWorker.transform(OCRTransformWorker.java:83)
alfresco_1 | ... 11 more
alfresco_1 | Caused by: java.io.FileNotFoundException: /usr/local/tomcat/temp/Alfresco/OCRTransformWorker_source_205670585977377801

Got error when run: docker-compose up --build --force-recreate -d

Dear all,

I got the error as below when I run the command: docker-compose up --build --force-recreate -d

image

Please help me, thank you so much!

The system info:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic

Docker version: 18.03.1-ce, build 9ee9f40
Node version: v10.19.0
npm version: 6.13.4

Preview is not updated after document has been edited

I just run into this problem. When I edit a document no matter how: in Microsoft Office or in Google Docs, preview is updated just once. All furhter edits are ignored in spite of the fact they are stored in the document. Log files do not give any clue, no errors mentioned. Can it be a permissions issue? My alfresco Data directory has the following permissions:
image

I have used this docker installer, 6.1 version installed on Ubuntu 18.04LTS

Any ideas much appreciated.

improving certificate's permission ?

Hello Angel !
Permissions for localhost.cer and localhost.key are set to 644
What about tuning the permission of localhost.key down to 640 in order to improve security ?

I did it and it works.

Best regards.

Issue with solr services. getting access denied exception

Hello, I need a help.
I think there is some issue with solr working. I ran the below command and it started

docker-compose up --build --force-recreate

but in the middle I am getting this error

solr6_1 | 2019-12-05 06:38:30.900 ERROR (Thread-12) [ x:alfresco] o.a.s.c.SolrCore :java.nio.file.AccessDeniedException: /opt/alfresco-search-services/data/alfresco solr6_1 | at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) solr6_1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) solr6_1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) solr6_1 | at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:385) solr6_1 | at java.base/java.nio.file.Files.createDirectory(Files.java:689) solr6_1 | at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:796) solr6_1 | at java.base/java.nio.file.Files.createDirectories(Files.java:782) solr6_1 | at org.apache.lucene.store.FSDirectory.<init>(FSDirectory.java:157) solr6_1 | at org.apache.lucene.store.MMapDirectory.<init>(MMapDirectory.java:159) solr6_1 | at org.apache.lucene.store.MMapDirectory.<init>(MMapDirectory.java:112) solr6_1 | at org.apache.lucene.store.FSDirectory.open(FSDirectory.java:197) solr6_1 | at org.apache.solr.core.NRTCachingDirectoryFactory.create(NRTCachingDirectoryFactory.java:55) solr6_1 | at org.apache.solr.core.CachingDirectoryFactory.get(CachingDirectoryFactory.java:346) solr6_1 | at org.apache.solr.core.SolrCore.getNewIndexDir(SolrCore.java:353) solr6_1 | at org.apache.solr.core.SolrCore.cleanupOldIndexDirectories(SolrCore.java:3044) solr6_1 | at org.apache.solr.core.SolrCore.close(SolrCore.java:1575) solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:969) solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:830) solr6_1 | at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:950) solr6_1 | at org.apache.solr.core.CoreContainer.create(CoreContainer.java:863) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.createAndRegisterNewCore(AlfrescoCoreAdminHandler.java:619) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.newCore(AlfrescoCoreAdminHandler.java:520) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.lambda$setupNewDefaultCores$3(AlfrescoCoreAdminHandler.java:203) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) solr6_1 | at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) solr6_1 | at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) solr6_1 | at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) solr6_1 | at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) solr6_1 | at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) solr6_1 | at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) solr6_1 | at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.setupNewDefaultCores(AlfrescoCoreAdminHandler.java:196) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.lambda$startup$0(AlfrescoCoreAdminHandler.java:154) solr6_1 | at java.base/java.lang.Thread.run(Thread.java:834) solr6_1 | solr6_1 | 2019-12-05 06:38:30.909 ERROR (Thread-12) [ x:alfresco] o.a.s.c.SolrCore Error while closing solr6_1 | java.lang.NullPointerException solr6_1 | at org.apache.solr.core.SolrCore.close(SolrCore.java:1600) solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:969) solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:830) solr6_1 | at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:950) solr6_1 | at org.apache.solr.core.CoreContainer.create(CoreContainer.java:863) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.createAndRegisterNewCore(AlfrescoCoreAdminHandler.java:619) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.newCore(AlfrescoCoreAdminHandler.java:520) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.lambda$setupNewDefaultCores$3(AlfrescoCoreAdminHandler.java:203) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) solr6_1 | at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) solr6_1 | at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) solr6_1 | at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) solr6_1 | at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) solr6_1 | at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) solr6_1 | at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) solr6_1 | at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.setupNewDefaultCores(AlfrescoCoreAdminHandler.java:196) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.lambda$startup$0(AlfrescoCoreAdminHandler.java:154) solr6_1 | at java.base/java.lang.Thread.run(Thread.java:834) solr6_1 | 2019-12-05 06:38:30.929 ERROR (Thread-12) [ x:alfresco] o.a.s.AlfrescoCoreAdminHandler Failed to create default alfresco cores (workspace/archive stores) solr6_1 | org.apache.solr.common.SolrException: Error CREATEing SolrCore 'alfresco': Unable to create core [alfresco] Caused by: /opt/alfresco-search-services/data/alfresco solr6_1 | at org.apache.solr.core.CoreContainer.create(CoreContainer.java:900) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.createAndRegisterNewCore(AlfrescoCoreAdminHandler.java:619) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.newCore(AlfrescoCoreAdminHandler.java:520) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.lambda$setupNewDefaultCores$3(AlfrescoCoreAdminHandler.java:203) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) solr6_1 | at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) solr6_1 | at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) solr6_1 | at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) solr6_1 | at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) solr6_1 | at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) solr6_1 | at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) solr6_1 | at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) solr6_1 | at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.setupNewDefaultCores(AlfrescoCoreAdminHandler.java:196) solr6_1 | at org.alfresco.solr.AlfrescoCoreAdminHandler.lambda$startup$0(AlfrescoCoreAdminHandler.java:154) solr6_1 | at java.base/java.lang.Thread.run(Thread.java:834) solr6_1 | Caused by: org.apache.solr.common.SolrException: Unable to create core [alfresco] solr6_1 | at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:966) solr6_1 | at org.apache.solr.core.CoreContainer.create(CoreContainer.java:863) solr6_1 | ... 16 more solr6_1 | Caused by: org.apache.solr.common.SolrException: java.nio.file.AccessDeniedException: /opt/alfresco-search-services/data/alfresco solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:977) solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:830) solr6_1 | at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:950) solr6_1 | ... 17 more solr6_1 | Caused by: java.lang.IllegalStateException: java.nio.file.AccessDeniedException: /opt/alfresco-search-services/data/alfresco solr6_1 | at org.apache.solr.core.SolrCore.initSnapshotMetaDataManager(SolrCore.java:486) solr6_1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:917) solr6_1 | ... 19 more solr6_1 | Caused by: java.nio.file.AccessDeniedException: /opt/alfresco-search-services/data/alfresco solr6_1 | at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) solr6_1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) solr6_1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) solr6_1 | at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:385) solr6_1 | at java.base/java.nio.file.Files.createDirectory(Files.java:689) solr6_1 | at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:796) solr6_1 | at java.base/java.nio.file.Files.createDirectories(Files.java:782) solr6_1 | at org.apache.lucene.store.FSDirectory.<init>(FSDirectory.java:157) solr6_1 | at org.apache.lucene.store.MMapDirectory.<init>(MMapDirectory.java:159) solr6_1 | at org.apache.lucene.store.MMapDirectory.<init>(MMapDirectory.java:112) solr6_1 | at org.apache.lucene.store.FSDirectory.open(FSDirectory.java:197) solr6_1 | at org.apache.solr.core.NRTCachingDirectoryFactory.create(NRTCachingDirectoryFactory.java:55) solr6_1 | at org.apache.solr.core.CachingDirectoryFactory.get(CachingDirectoryFactory.java:346) solr6_1 | at org.apache.solr.core.SolrCore.initSnapshotMetaDataManager(SolrCore.java:482) solr6_1 | ... 20 more

Any idea why this is happenning and what will be the impact on alfresco instance and how to resolve this ?
Please guide ..

Thanks.

HTTPS connection configured

When building docker images I select using HTTPS connection when answering to
Do you want to use HTTPs for Web Proxy?
thinking about further correct work of AOS (Microsoft Office editing from inside of the system). It works correctly, but at the same time I would like to allow users to connect to the system using HTTP. I achieve that having configured nginx to listen to both 80 and 443 ports. That works for content application, but not for the share. Share connection requires HTTPS anyway. Is it possible to fix that not having lost capabilities of editing documents with AOS?

Another question is when I receive a notification, it is configured with HTTP protocol and following the task link it requires me to authenticate within the system second time (first time with HTTPS). Is any way how to eliminate that?

Can't find thumbnail-service-context.xml

Hello,

I'd like to increase the size of thumbnails generated on the share document list detailed view.
In order to do this, I would like to view the thumbnail-service-context.xml file but was not able to find it within the Alfresco container. Could you please tell me where this file is located ?

Thanks in advance.

start script error

When using the start.sh script:

internal/bootstrap/switches/does_own_process_state.js:128
  cachedCwd = rawMethods.cwd();
                         ^

Error: ENOENT: no such file or directory, uv_cwd
    at process.wrappedCwd [as cwd] (internal/bootstrap/switches/does_own_process_state.js:128:26)
    at Object.resolve (path.js:978:47)
    at patchProcessObject (internal/bootstrap/pre_execution.js:92:28)
    at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:16:3)
    at internal/main/run_main_module.js:7:1 {
  errno: -2,
  code: 'ENOENT',
  syscall: 'uv_cwd'
}
Waiting failed -> exit 1

Share Dockerfile is tight to the Server Name

Hi,

As far I could see , the step What is the name of your server? impacts over the Share DockerFile as follow:

sed -i '/Connector port="8080"/a proxyName="myservername" proxyPort="443"' /usr/local/tomcat/conf/server.xml

which myservername is the answer to the above question.

Due to this, I need to change dockerfile manually according to the enviroment.

Is there a possibilty to modify this behaviour to be adapt it depending to the enviroment like the .env file in a docker-compose?

Thanks!

Alfresco proxy error

Im getting this error when i run the start.sh script

Creating alfresco61_proxy_1 ... done
Waiting for alfresco to boot ...
waiting for 1 resources: http://localhost:8080/alfresco/
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404
making HTTP(S) head request to  url:http://localhost:8080/alfresco/ ...
  HTTP(S) error for http://localhost:8080/alfresco/ Error: Request failed with status code 404


Access / edit alfresco-global.properties

What is the preferred way to access the /tomcat/shared/classes/alfresco-global.properties in order to configure user synchronisation with AD etc.?
I could create a volume pointing at the containing folder for the alfresco image in docker-compose.yml but then I would need to copy the current alfresco-global.properties manually or would it be recreated based on the configured defaults?
Any hints are greatly appreciated.

google-docs actions in documentlibrary always visible

Sorry to open a new issue here, but i couldn't reopen my closed issue:

i've made a new test today with your latest version of alfresco-docker-installer (mostly default settings, no customizations)

yo alfresco-docker-installer

Have disabled google docs in the wizard and the generated docker-compose file shows correctly the setting:

-Dgoogledocs.enabled=false 
  • Login to share
  • Create new site
  • Navigate to Document Library
  • Click on "+ Create..."

And here i am still getting the links to the google docs stuff i wanted to get rid off:

share_google_docs

Step 11/14 fails with "Could not resolve host: mirrorlist.centos.org/...."

Trying to install on Centos 8 host but running into apparent connectivity problem.

Cannot find a valid baseurl for repo: base/7/x86_64
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
ERROR: Service 'alfresco' failed to build: The command '/bin/sh -c yum -y update && yum -y install wget && yum clean all && set -x && wget https://artifacts.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/api-explorer/${API_EXPLORER_TAG}/api-explorer-${API_EXPLORER_TAG}.war -O /usr/local/tomcat/webapps/api-explorer.war' returned a non-zero code: 1

Included Dockerfile and docker-compose.yml
Let me know what other settings are needed.

two-config-files.zip

Postgres does not start because of filesystem permissions

thijs@havana ~/Downloads/test-alfresco-docker-installer $ docker logs -f --tail 100 testalfrescodockerinstaller_postgres_1
2019-08-22 13:52:12.362 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2019-08-22 13:52:12.363 UTC [1] LOG: listening on IPv6 address "::", port 5432
2019-08-22 13:52:12.373 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-08-22 13:52:12.393 UTC [1] FATAL: could not open log file "/var/log/postgresql/postgresql-2019-08-22_135212.log": Permission denied
2019-08-22 13:52:12.396 UTC [1] LOG: database system is shut down

Filesystem is created by root, postgres user does not have access to it. Removing the command part helps

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.