- Introduction
- Requirements
- Host-platform Builds
- Multi-platform builds
- Release Builds / Updating DockerHub
This repository provides the islandora/nodejs
image which only exists to
provide a custom Alpine APK package(s). As code-server
is often one or two
versions behind what gets shipped with Alpine.
Since this does not change often and takes a very long time to cross compile for both platforms it's been moved to it's own repository.
To build the Docker images using the provided Gradle build scripts requires:
You can build your host platform locally using the default builder like so.
docker context use default
docker buildx bake
To test multi-arch builds and remote build caching requires setting up a local registry.
Please use isle-builder to create a builder to simplify this process. Using the defaults provided, .e.g:
make start
After which you should be able to build with the following command:
REPOSITORY=islandora.io docker buildx bake --builder isle-builder ci --push
Unfortunately this takes too long to cross compile as a Github actions so building and updating images in DockerHub must be done manually.
First create a tag that includes both the alpine version and the nodejs version. For example:
git tag alpine-3.20.2-nodejs-18.19.1-r0
Then build and push the images to DockerHub, and create an manifest:
export REPOSITORY=islandora
export TAG=alpine-3.20.2-nodejs-20.15.1-r0
docker login -u islandoracommunity
docker buildx bake --builder isle-builder ci --push
docker buildx imagetools create -t islandora/nodejs:${TAG} islandora/nodejs:${TAG}-amd64 islandora/nodejs:${TAG}-arm64
docker logout