ci: build backend with system chromium for the arm64 crawler
chromiumoxide's fetcher has no linux/arm64 build, so on the Pi the crawler's browser launch failed with 'OS linux aarch64 is not supported'. Build the backend image with INSTALL_CHROMIUM=true (Debian chromium-headless-shell, verified present + runnable on trixie/arm64 at /usr/bin/chromium-headless-shell) and set CRAWLER_CHROMIUM_BINARY to it in .env so the launcher uses the system binary instead of the fetcher. Backend image only; frontend unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -113,7 +113,13 @@ jobs:
|
|||||||
echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_URL" -u "$REGISTRY_USERNAME" --password-stdin
|
echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_URL" -u "$REGISTRY_USERNAME" --password-stdin
|
||||||
for svc in backend frontend; do
|
for svc in backend frontend; do
|
||||||
img="$REGISTRY_URL/mangalord-$svc"
|
img="$REGISTRY_URL/mangalord-$svc"
|
||||||
docker build -t "$img:$IMAGE_TAG" -t "$img:latest" -t "$img:$VERSION" "./$svc"
|
# The backend bundles Debian's headless chromium for the crawler:
|
||||||
|
# chromiumoxide's fetcher has no arm64 build, so the Pi must use a
|
||||||
|
# system binary (pair with the runtime env
|
||||||
|
# CRAWLER_CHROMIUM_BINARY=/usr/bin/chromium-headless-shell).
|
||||||
|
build_args=""
|
||||||
|
if [ "$svc" = "backend" ]; then build_args="--build-arg INSTALL_CHROMIUM=true"; fi
|
||||||
|
docker build $build_args -t "$img:$IMAGE_TAG" -t "$img:latest" -t "$img:$VERSION" "./$svc"
|
||||||
for tag in "$IMAGE_TAG" latest "$VERSION"; do docker push "$img:$tag"; done
|
for tag in "$IMAGE_TAG" latest "$VERSION"; do docker push "$img:$tag"; done
|
||||||
done
|
done
|
||||||
docker logout "$REGISTRY_URL"
|
docker logout "$REGISTRY_URL"
|
||||||
|
|||||||
Reference in New Issue
Block a user