rockectChatをArmでDockerビルドした
usasuke
usasuke

rockectChatをArmでDockerビルドした

2023年10月15日

What I'd like to do

Arm版インスタンスでRocket ChatをDockerコンテナで動作させたかった。

実際にArm向けにソースコードをダウンロードしてビルドするDckerfileをGithubに置いてあるので、急いでる方はこちらからどうぞ

github

ポイントになるのは、

RUN npm install \
    && npm install --arch=${ARCH} --force
RUN cd /tmp/bundle/programs/server \
    && rm -rf npm/node_modules/sharp \
    && npm install --platform=linux --arch=arm64v8 sharp \
    && mv node_modules/sharp npm/node_modules/sharp
RUN cd /tmp/bundle/programs/server \
    && rm -rf npm/node_modules/bcrypt \
    && npm install --platform=linux --arch=arm64v8 bcrypt \
    && mv node_modules/bcrypt npm/node_modules/bcrypt
RUN cd /tmp/bundle/programs/server \
    && rm -rf npm/node_modules/bcrypt \
    && npm install --platform=linux --arch=arm64v8 bcrypt \
    && mv node_modules/bcrypt npm/node_modules/bcrypt
RUN cd /tmp/bundle/programs/server/npm/node_modules/meteor/accounts-password \
    && rm -rf /node_modules/bcrypt \
    && npm install --platform=linux --arch=arm64v8 bcrypt

のあたり。これらのモジュールは、そのままではArmアーキテクチャでビルドできないので一旦削除して、Arm用のものをDLし直す。