Alfresco Content Services のインストール(Linux と Docker Compose)

はじめに

このページでは Docker Compose を使用して、Alfresco Content Services を CentOS 7.5 にインストールする手順について説明します。バージョンは 6.2.0 を想定しています。
あらかじめ以下のミドルウェアが入っていることが前提となります。


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

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


1.docker-compose.yml ファイルの準備

Docker Compose を使用する際には、設定情報を記載した docker-compose.yml ファイルが必要になります。
Alfresco の公式サイトから評価を申し込んだ場合はメールで docker-compose.yml ファイルへのリンクが送付されます。


Alfresco 社が公開しているリポジトリにある docker-compose.yml ファイルを使用する場合は、次の手順を実行します。

GitHub のリポジトリをサーバにクローンします。

実行コマンド
# git clone https://github.com/Alfresco/acs-deployment.git

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

実行コマンド
# cd acs-deployment/docker-compose

2.設定情報の整備

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

実行コマンド
# docker login quay.io

標準の設定のまま Docker Compose を使用した場合、立ち上げた Alfresco Content Services のドキュメントのプレビュー画面で日本語が文字化けしてしまうので、それを回避するために日本語のフォントを入れる設定を加えた Dockerfile_LibreOffice ファイルを作成します。

実行コマンド
# vi Dockerfile_LibreOffice
編集内容
FROM alfresco/alfresco-libreoffice:2.1.0
 
RUN yum -y install ipa-gothic-fonts-* ipa-pgothic-fonts-* ipa-mincho-fonts-* ipa-pmincho-fonts-* vlgothic-fonts-* vlgothic-p-fonts-*

docker-compose.yml ファイルを修正し、LibreOffice のコンテナの設定箇所に作成した Dockerfile_LifreOffice ファイルを使用する設定を記載します。

実行コマンド
# vi docker-compose.yml
編集内容
# This docker-compose file will spin up an ACS cluster on a local host or on a server and it requires a minimum of 13GB Memory to distribute among containers.
#
# For performance tuning, assign the container memory and give a percentage of it to the JVM.
# Use either the -Xms,-Xmx flags or the newly added flags in java 10+: -XX:MaxRAMPercentage and -XX:MinRAMPercentage. More details here: https://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html


# Note: The docker-compose file from github.com is a limited trial that goes into read-only mode after 2 days.
# Get the latest docker-compose.yml file with a 30-day trial license by accessing the Alfresco Content Services trial download page at:
# https://www.alfresco.com/platform/content-services-ecm/trial/download

# 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.2.0
        mem_limit: 1700m
        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
                -Dshare.host=127.0.0.1
                -Dshare.port=8080
                -Dalfresco.host=localhost
                -Dalfresco.port=8080
                -Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos
                -Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\"
                -Ddeployment.method=DOCKER_COMPOSE

                -Dtransform.service.enabled=true
                -Dtransform.service.url=http://transform-router:8095
                -Dsfs.url=http://shared-file-store:8099/

                -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
                -Ddsync.service.uris=http://localhost:9090/alfresco
                -Xms1500m -Xmx1500m
                "

    transform-router:
        mem_limit: 512m
        image: quay.io/alfresco/alfresco-transform-router:1.1.0
        environment:
          JAVA_OPTS: " -Xms256m -Xmx512m"
          ACTIVEMQ_URL: "nio://activemq:61616"
          IMAGEMAGICK_URL: "http://imagemagick:8090"
          PDF_RENDERER_URL : "http://alfresco-pdf-renderer:8090"
          LIBREOFFICE_URL : "http://libreoffice:8090"
          TIKA_URL : "http://tika:8090"
          MISC_URL : "http://transform-misc:8090"
          FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
        ports:
            - 8095:8095
        links:
          - activemq

    alfresco-pdf-renderer:
        image: alfresco/alfresco-pdf-renderer:2.1.0
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx512m"
            ACTIVEMQ_URL: "nio://activemq:61616"
            FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
        ports:
            - 8090:8090
        links:
        - activemq

    imagemagick:
        image: alfresco/alfresco-imagemagick:2.1.0
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx512m"
            ACTIVEMQ_URL: "nio://activemq:61616"
            FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
        ports:
            - 8091:8090
        links:
        - activemq

    libreoffice:
        ## image: となっていたものを build: 以下に変更
        build: ←変更
            context: . ←追加
            dockerfile: Dockerfile_LibreOffice ←追加
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx512m"
            ACTIVEMQ_URL: "nio://activemq:61616"
            FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
        ports:
            - 8092:8090
        links:
        - activemq

    tika:
        image: alfresco/alfresco-tika:2.1.0
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx512m"
            ACTIVEMQ_URL: "nio://activemq:61616"
            FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
        ports:
            - 8093:8090
        links:
            - activemq

    transform-misc:
        image: alfresco/alfresco-transform-misc:2.1.0
        mem_limit: 1g
        environment:
            JAVA_OPTS: " -Xms256m -Xmx512m"
            ACTIVEMQ_URL: "nio://activemq:61616"
            FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
        ports:
            - 8094:8090
        links:
            - activemq

    shared-file-store:
        image: alfresco/alfresco-shared-file-store:0.5.3
        mem_limit: 512m
        environment:
            JAVA_OPTS: " -Xms256m -Xmx512m"
            scheduler.content.age.millis: 86400000
            scheduler.cleanup.interval: 86400000
        ports:
            - 8099:8099
        volumes:
            - shared-file-store-volume:/tmp/Alfresco/sfs

    share:
        image: alfresco/alfresco-share:6.2.0
        mem_limit: 1g
        environment:
            REPO_HOST: "alfresco"
            REPO_PORT: "8080"
            JAVA_OPTS: "
                -Xms500m
                -Xmx500m
                -Dalfresco.host=localhost
                -Dalfresco.port=8080
                -Dalfresco.context=alfresco
                -Dalfresco.protocol=http
                "

    postgres:
        image: postgres:11.4
        mem_limit: 512m
        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.4.0
        mem_limit: 2g
        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
            #HTTP by default
            - ALFRESCO_SECURE_COMMS=none
            - "SOLR_JAVA_MEM=-Xms2g -Xmx2g"
        ports:
            - 8083:8983 #Browser port

    activemq:
        image: alfresco/alfresco-activemq:5.15.8
        mem_limit: 1g
        ports:
            - 8161:8161 # Web Console
            - 5672:5672 # AMQP
            - 61616:61616 # OpenWire
            - 61613:61613 # STOMP

    digital-workspace:
        image: quay.io/alfresco/alfresco-digital-workspace:1.3.0
        mem_limit: 128m
        environment:
            BASE_PATH: ./

    proxy:
        image: alfresco/alfresco-acs-nginx:3.0.1
        mem_limit: 128m
        depends_on:
            - alfresco
            - digital-workspace
        ports:
            - 8080:8080
        links:
            - digital-workspace
            - alfresco
            - share

    sync-service:
        image: quay.io/alfresco/service-sync:3.2.0
        mem_limit: 1g
        environment:
            JAVA_OPTS : "
            -Dsql.db.driver=org.postgresql.Driver
            -Dsql.db.url=jdbc:postgresql://postgres:5432/alfresco
            -Dsql.db.username=alfresco
            -Dsql.db.password=alfresco
            -Dmessaging.broker.host=activemq
            -Drepo.hostname=alfresco
            -Drepo.port=8080
            -Ddw.server.applicationConnectors[0].type=http
            -Xms1000m -Xmx1000m
            "

        ports:
            - 9090:9090

volumes:
    shared-file-store-volume:
        driver_opts:
            type: tmpfs
            device: tmpfs

3.起動

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

実行コマンド
# docker-compose up -d

4.アクセス

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


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

5.停止

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

実行コマンド
# docker-compose stop

リックソフト株式会社 は、日本でトップレベルのAtlassian Platinum Solution Partnerです。
大規模ユーザーへの対応実績が認められたEnterpriseの認定をうけ、高度なトレーニング要件をクリアし、小規模から大規模のお客様まで対応可能な実績を示したパートナー企業です。


Copyright © Ricksoft Co., Ltd. プライバシーポリシー お問い合わせ