Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

はじめに

このページでは Docker Compose を使用して、CentOS 7.5 にインストールする手順について説明します。CentOS 7.5 以外のLinuxでも同様の手順でインストールできると思います。
あらかじめ以下のミドルウェアが入っていることが前提となります。


ミドルウェア
1Git
2Docker
3Docker Compose
Warning

ここで紹介している Docker Compose で実行する手順はトライアル・評価利用の場合のみサポートされており、本番での利用はサポートされておりません

1.GitHub のリポジトリのクローン

Docker Compose を使用する際には、設定情報を記載した docker-compose.yml ファイルが必要になります。ここでは Alfresco 社が公開しているリポジトリにある docker-compose.yml ファイルを使用するため、GitHub のリポジトリをサーバにクローンします。

Code Block
languagebash
themeEmacs
title実行コマンド
# git clone https://github.com/Alfresco/acs-deployment.git

クローンしたらディレクトリを移動しておきます。

Code Block
languagebash
themeEmacs
title実行コマンド
# cd acs-deployment/docker-compose

2.設定情報の整備

Alfresco の有償版の Docker イメージは Quay.io というサイトに保存されています。Quay.io のアカウントを持っている場合は次のコマンドを実行します。

Code Block
languagebash
themeEmacs
title実行コマンド
# docker login quay.io

所有していない場合は、docker-compose.yml ファイルを修正します。

Code Block
languagebash
themeEmacs
title実行コマンド
# vi docker-compose.yml
Code Block
languagebash
themeEmacs
title編集内容
linenumberstrue
# This docker-compose file will spin up an ACS cluster on a local host or on a server and it requires a minimum of 16GB Memory to distribute among containers.
# Limit container memory and assign X percentage to JVM.  There are couple of ways to allocate JVM Memory for ACS Containers
# For example: 'JAVA_OPTS: "$JAVA_OPTS -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"'
# But, as per Oracle docs (https://docs.oracle.com/javase/9/gctuning/parallel-collector1.htm#JSGCT-GUID-CAB83393-3438-44ED-98F0-D15641B43C7D)
# If container memory is not explicitly set, then the above flags will default max heap to 1/4th of container's memory which may not be ideal.
# Hence, setting up explicit Container memory and then assigning a percentage of it to the JVM for performance tuning.

# Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose
version: "2"

services:
    alfresco:
        image: alfresco/alfresco-content-repository:6.1.0-EA1
        mem_limit: 1500m 
        environment:
            JAVA_OPTS: "
                -Ddb.driver=org.postgresql.Driver
                -Ddb.username=alfresco
                -Ddb.password=alfresco
                -Ddb.url=jdbc:postgresql://postgres:5432/alfresco
                -Dsolr.host=solr6
                -Dsolr.port=8983
                -Dsolr.secureComms=none
                -Dsolr.base.url=/solr
                -Dindex.subsystem.name=solr6
                -Dalfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
                -Djodconverter.url=http://libreoffice:8090/
                -Dimg.url=http://imagemagick:8090/
                -Dtika.url=http://tika:8090/
                -Dsfs.url=http://shared-file-store:8099/
                -Dshare.host=localhost
                -Ddeployment.method=DOCKER_COMPOSE
                -Dcsrf.filter.enabled=false
                -Xms1g -Xmx1g
                "
        ports:
            - 8082:8080 #Browser port

    alfresco-pdf-renderer:
        image: alfresco/alfresco-pdf-renderer:1.3
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx256m"
        ports:
            - 8090:8090

    imagemagick:
        image: alfresco/alfresco-imagemagick:1.3
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx256m"
        ports:
            - 8091:8090

    libreoffice:
        image: alfresco/alfresco-libreoffice:1.3
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx256m"
        ports:
            - 8092:8090

    tika:
        image: alfresco/alfresco-tika:1.3
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx256m"
        ports:
            - 8093:8090

    shared-file-store:
        image: alfresco/alfresco-shared-file-store:0.1
        environment:
            JAVA_OPTS: " -Xms256m -Xmx256m"
        ports:
            - 8099:8099

    share:
        image: alfresco/alfresco-share:6.0
        mem_limit: 1g
        environment:
            - REPO_HOST=alfresco
            - REPO_PORT=8080
            - "CATALINA_OPTS= -Xms500m -Xmx500m"
        ports:
            - 8080:8080

    postgres:
        image: postgres:10.1
        mem_limit: 1500m
        environment:
            - POSTGRES_PASSWORD=alfresco
            - POSTGRES_USER=alfresco
            - POSTGRES_DB=alfresco
        command: postgres -c max_connections=300 -c log_min_messages=LOG
        ports:
            - 5432:5432

    solr6:
        image: alfresco/alfresco-search-services:1.1.1
        mem_limit: 2500m
        environment:
            #Solr needs to know how to register itself with Alfresco
            - SOLR_ALFRESCO_HOST=alfresco
            - SOLR_ALFRESCO_PORT=8080
            #Alfresco needs to know how to call solr
            - SOLR_SOLR_HOST=solr6
            - SOLR_SOLR_PORT=8983
            #Create the default alfresco and archive cores
            - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive
            - "SOLR_JAVA_MEM=-Xms2g -Xmx2g"
        ports:
            - 8083:8983 #Browser port

3.起動

次のコマンドを実行して、Alfresco Content Services を起動します。

Code Block
languagebash
themeEmacs
title実行コマンド
# docker-compose up

4.アクセス

正しく立ち上がっていれば、次の情報でアクセスすることができます。


項目名設定値
1ログイン URLhttp://<IPアドレスもしくはホスト名>:8080/share
2ユーザ名admin
3パスワードadmin

5.停止

Alfresco Content Services を停止する場合は、次のコマンドを実行します。

Code Block
languagebash
themeEmacs
title実行コマンド
# docker-compose stop