Add all modules you want to install to erpnext in the apps.json file.
export APPS_JSON_BASE64=$(base64 -w 0 ./apps.json)echo -n ${APPS_JSON_BASE64} | base64 -d > apps-test-output.jsongit clone https://github.com/frappe/frappe_docker
cd frappe_dockerdocker build \
--build-arg FRAPPE_PATH=https://github.com/frappe/frappe \
--build-arg FRAPPE_BRANCH=version-15 \
--build-arg APPS_JSON_BASE64=$APPS_JSON_BASE64 \
--tag ghcr.io/stevenuster/erpnext/erpnext:latest-amd64 \
--file images/layered/Containerfile .# Build and push amd64 image
docker buildx build \
--platform linux/amd64 \
--build-arg FRAPPE_PATH=https://github.com/frappe/frappe \
--build-arg FRAPPE_BRANCH=version-15 \
--build-arg APPS_JSON_BASE64=$APPS_JSON_BASE64 \
--tag ghcr.io/stevenuster/erpnext/erpnext:latest-amd64 \
--file images/layered/Containerfile \
--push .# Build and push arm64 image
docker buildx build \
--platform linux/arm64 \
--build-arg FRAPPE_PATH=https://github.com/frappe/frappe \
--build-arg FRAPPE_BRANCH=version-15 \
--build-arg APPS_JSON_BASE64=$APPS_JSON_BASE64 \
--tag ghcr.io/stevenuster/erpnext/erpnext:latest-arm64 \
--file images/layered/Containerfile \
--push .docker manifest create ghcr.io/stevenuster/erpnext/erpnext:latest \
--amend ghcr.io/stevenuster/erpnext/erpnext:latest-amd64 \
--amend ghcr.io/stevenuster/erpnext/erpnext:latest-arm64docker manifest push ghcr.io/stevenuster/erpnext/erpnext:latest