To deploy Alfresco Content Services using docker-compose, download and install Docker, then follow the steps below.
-
Clone the repository locally or download one of the
docker-compose.yml files (e.g.
6.1.N-docker-compose.yml), and then change directory to the project
folder:
git clone https://github.com/Alfresco/acs-deployment.git cd acs-deployment
Note: Make sure that the following ports are free on your computer: 5432, 8080, 8083. These ports are set in the docker-compose.yml file - refer to the host:container port definitions.See the Alfresco/acs-deployment project README for more.
- Change directory to the location of your docker-compose.yml file.
-
Log in to Quay.io using your credentials:
docker login quay.io
Alfresco customers can request Quay.io credentials by logging a ticket with Alfresco Support. These credentials are required to pull private (Enterprise-only) Docker images from Quay.io.
-
Deploy Alfresco Content Services, including
the repository, Share, Postgres database, Search Services, etc.:
For example:
docker-compose -f 6.1.N-docker-compose.yml up
This downloads the images, fetches all the dependencies, creates each container, and then starts the system:
... Creating docker-compose_postgres_1 ... done Creating docker-compose_alfresco_1 ... done Creating docker-compose_tika_1 ... done Creating docker-compose_imagemagick_1 ... done Creating docker-compose_libreoffice_1 ... done Creating docker-compose_digital-workspace_1 ... done Creating docker-compose_solr6_1 ... done Creating docker-compose_shared-file-store_1 ... done Creating docker-compose_share_1 ... done Creating docker-compose_activemq_1 ... done Creating docker-compose_alfresco-pdf-renderer_1 ... done Creating docker-compose_proxy_1 ... done Creating docker-compose_transform-router_1 ... done Attaching to docker-compose_postgres_1, docker-compose_tika_1, docker-compose_alfresco_1, docker-compose_digital-workspace_1, ... ...
As an alternative, you can also start the containers in the background by running docker-compose up -d.
-
Wait for the logs to complete, showing messages:
... alfresco_1 | 2019-02-21 11:50:46,000 WARN ... The Alfresco Content Services license will expire in 2 days. alfresco_1 | 2019-02-21 11:50:50,341 INFO ... Starting 'Transformers' subsystem, ID: [Transformers, default] alfresco_1 | 2019-02-21 11:50:50,600 INFO ... Startup of 'Transformers' subsystem, ID: [Transformers, default] complete ...
If you encounter errors whilst the system is starting up:
- Stop the session by using CONTROL+C.
- Remove the containers (using the --rmi all option):
docker-compose down --rmi all
- Try allocating more memory resources, as advised in docker-compose.yml. For example, in Docker, change the memory setting in Preferences (or Settings) > Advanced > Memory, to at least 8 GB. Make sure you restart Docker and wait for the process to finish before continuing.
- Go back to step 4 (above) to start the deployment again.
Note: Keep in mind that 8 GB is much lower than the required minimum, and may need to be adapted for your environment. You'll need a machine with at least 13GB of memory to distribute among the Docker containers. -
Open your browser and check everything starts up correctly:
- Administration and REST APIs: http://localhost:8080/alfresco
- Share: http://localhost:8080/share
- Alfresco Digital Workspace: http://localhost:8080/workspace
- Search administration: http://localhost:8083/solr
-
Log in as the admin user. Enter the default administrator password
admin.
You can use a number of commands to check that the system started correctly. See Checking system start up for more.
See the Alfresco/acs-deployment GitHub project documentation for the prerequisites and detailed setup: Docker Compose deployment
In this project, you can use the docker-compose.yml file following the documentation for standard installations.
To modify your development environment, for example to change or mount files in the existing images, you'll have to create new custom Docker images (recommended approach). The same approach applies if you want to install AMP files into the repository and Share images. See the Customization Guidelines for more.