null Alfresco ACSのdocker-composeでデータを永続化する

今回はAlfresco Content Services(ACS) Community Edition 6.2のdocker-composeでAlfrescoのデータをvolumeに永続化する方法を紹介します。

Alfresco Community Editionは6系からdockerイメージとdocker-composeファイルが公開されるようになりました。そのため以前よりも簡単に関連サービスも含めた状態のAlfresco ACSを起動できるようになりました。

一方で公開されているdocker-composeファイルはデータをボリュームに永続化されない設定になっているため、この状態ではデータをAlfrescoに登録しても一度downして次の起動時にはAlfrescoからデータが揮発してしまいます。 今回はデータがボリュームに永続化されるようにdocker-composeを修正する方法を紹介します。

(上記URLのmasterは順次バージョンアップされます。この記事はrepositoryのバージョンが6.2.1-A8のdocker-compose.ymlをベースにしています。)

alfrescoコンテナ

リポジトリのメインコンテナですが、登録されるファイルのバイナリデータは/usr/local/tomcat/alf_data以下に永続化されるので、このポイントにボリュームを追加します。

                -Dtransform.misc.url=http://transform-core-aio:8090/
                -Dcsrf.filter.enabled=false
                -Xms1500m -Xmx1500m
                "
        volumes:
          - acs-volume:/usr/local/tomcat/alf_data

postgresコンテナ

ドキュメントの属性やフォルダパスなどのメタデータはすべてRDBMS上に永続化されます。postgresコンテナでは/var/lib/postgresql/data以下にデータが永続化されるのでこのフォルダ以下をボリュームで指定します。

    postgres:
        image: postgres:11.7
        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
        volumes:
          - db-volume:/var/lib/postgresql/data

solr6コンテナ

検索インデックスが格納されるコンテナです。検索データはリポジトリデータたら再作成可能ですがデータ量が増えてくると重たい処理となるので、ここも以下のようにボリュームを追加します。

            - ALFRESCO_SECURE_COMMS=none
            - "SOLR_JAVA_MEM=-Xms2g -Xmx2g"
        ports:
            - 8083:8983 #Browser por
        volumes:
            - ass-volume:/opt/alfresco-search-services/contentstore
            - ass-volume:/opt/alfresco-search-services/data

まとめ

上記の3点を追加するだけでdockerベースのAlfrescoのデータを永続化することができます。

以前紹介したプレビュー文字化け対応を合わせて対応したファイル群を用意したので興味があれば使ってみてください。

RANKING
2020.10.12
2020.11.19
2020.12.23
2020.10.05
2020.11.25