Alfresco Community Edition 7.0をインストールできた

環境

  • Xeon E51620, 32GBメモリー
  • Ubuntu Desktop 日本語 Remix Ubuntu 20.04.1 LTS on VirtualBox 6.1
  • 2CPU, 12GBメモリー(Alfresco起動だけで3.1GB使用), VHD32GB(Alfrescoシステムだけで14GB必要)
  • LANにブリッジ接続

初期設定

  • 画面1280x979
  • ブランクスクリーン15分
  • IPv4アドレス自称。DNSで困ったから適当にDNSサーバーを指定。デフォルトゲートウェイ指定を間違えたのかな
  • LANG=C xdg-user-dirs-gtk-update
  • システムアップデート。ソフトウェアアップデート
  • ゲームソフト削除
  • sudo apt update
  • sudo apt upgrade
  • sudo apt install gcc make perl
  • VirtualBox Guest Additionsインストール
  • sudo apt autoremove

Alfrescoセットアップ

# This docker-compose file will spin up an ACS cluster on a local host or on a server and it requires a minimum of 12GB 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"'
# See Oracle docs (https://docs.oracle.com/javase/9/gctuning/parallel-collector1.htm#JSGCT-GUID-CAB83393-3438-44ED-98F0-D15641B43C7D).
# If the container memory is not explicitly set then the flags above will set the max heap default to 1/4 of the container's memory, which may not be ideal.
# For performance tuning, assign the container memory and give a percentage of it to the JVM.

# 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-community:7.0.0
        mem_limit: 1500m
        environment:
            JAVA_TOOL_OPTIONS: "
                -Dencryption.keystore.type=JCEKS
                -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
                -Dencryption.keyAlgorithm=DESede
                -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
                -Dmetadata-keystore.password=mp6yc0UD9e
                -Dmetadata-keystore.aliases=metadata
                -Dmetadata-keystore.metadata.password=oKIWzVdEdA
                -Dmetadata-keystore.metadata.algorithm=DESede
                "
            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.http.connection.timeout=1000
                -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
                -DlocalTransform.core-aio.url=http://transform-core-aio:8090/
                -Dcsrf.filter.enabled=false
                -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80
                "
        volumes:
          - acs-volume:/usr/local/tomcat/alf_data

    transform-core-aio:
        image: alfresco/alfresco-transform-core-aio:2.3.10
        mem_limit: 1536m
        environment:
            JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80"
        ports:
            - 8090:8090

    share:
        image: alfresco/alfresco-share:7.0.0
        mem_limit: 1g
        environment:
            REPO_HOST: "alfresco"
            REPO_PORT: "8080"
            JAVA_OPTS: "
                -XX:MinRAMPercentage=50
                -XX:MaxRAMPercentage=80
                -Dalfresco.host=localhost
                -Dalfresco.port=8080
                -Dalfresco.context=alfresco
                -Dalfresco.protocol=http
                "

    postgres:
        image: postgres:13.1
        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:
        image: alfresco/alfresco-search-services:2.0.1
        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
        ports:
            - 8083:8983 #Browser port
        volumes:
            - ass-volume:/opt/alfresco-search-services/contentstore
            - ass-volume:/opt/alfresco-search-services/data

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

    proxy:
        image: alfresco/alfresco-acs-nginx:3.1.1
        mem_limit: 128m
        environment:
            DISABLE_PROMETHEUS: "true"
            DISABLE_SYNCSERVICE: "true"
            DISABLE_ADW: "true"
        depends_on:
            - alfresco
        ports:
            - 8080:8080
        links:
            - alfresco
            - share

volumes:
    acs-volume:
    db-volume:
    ass-volume:

感想

  • スナップショットを適宜保存して、手順のやり直しに備えた
  • VHD 12GBで始めたら、容量不測のためにdocker-compose upが中断してしまった。32GBへの途中増量はできたけれど、各ディレクトリーの容量再割り当てがわからんから、OSインストールからやり直した
  • docker-compose upにsudo不要とするため、docker-composeするユーザーをdockerグループにするらしい。わからん
  • マシン起動時にdocker-compose upしていてほしい。どうしたらいいんだ。わからん
  • pptxは文字化けする(日本語が豆腐になる)らしいが、確認できなかった。7.0だからIPAフォント不要になったのか、ホストOSにLibreOfficeインストール済だからなのか