Alfresco ACSのdocker-composeでデータを永続化する - Alfresco ACSのdocker-composeでデータを永続化する - aegif Labo Blog Alfresco
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のデータを永続化することができます。
以前紹介したプレビュー文字化け対応を合わせて対応したファイル群を用意したので興味があれば使ってみてください。