You are here

Deploying using Docker Compose

Use this information to quickly start up Alfresco Content Services using Docker Compose. Due to the limited capabilities of Docker Compose, this deployment method is recommended for development and test environments only.

To deploy Alfresco Content Services using docker-compose, download and install Docker, then follow the steps below.

  1. 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.

  2. Change directory to the location of your docker-compose.yml file.
  3. 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.

  4. 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.

  5. 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.
  6. 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
  7. 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.

Sending feedback to the Alfresco documentation team

You don't appear to have JavaScript enabled in your browser. With JavaScript enabled, you can provide feedback to us using our simple form. Here are some instructions on how to enable JavaScript in your web browser.