27 lines
1.2 KiB
Docker
27 lines
1.2 KiB
Docker
# syntax=docker/dockerfile:1.4
|
|
# Dockhand Updater - BASELINE build (Alpine/musl, amd64 only)
|
|
#
|
|
# The normal updater (updater/Dockerfile) is Wolfi-based; Wolfi compiles its busybox
|
|
# and docker-cli for x86-64-v2 (SSE4.2/POPCNT). On older x86_64 CPUs without those
|
|
# instructions (TrueNAS, old Intel Atom/Celeron - the same hardware that needs the
|
|
# baseline Dockhand image) the Wolfi updater can't exec at all: the entrypoint's shell
|
|
# dies with "CPU does not support x86-64-v2", which Docker reports as exit 127 at the
|
|
# "Launching updater" step, so self-update is completely broken for baseline users.
|
|
#
|
|
# Alpine's musl busybox + docker-cli run on x86-64-v1, so the baseline updater is a
|
|
# plain Alpine image running the same /update.sh. amd64 only - baseline is a workaround
|
|
# for old x86_64 hardware, not an ARM concern.
|
|
#
|
|
# Rebuild trigger: the pipeline is change-gated on updater/, so touching this file
|
|
# forces a rebuild of the -baseline tag. (rebuild nonce: 2)
|
|
FROM alpine:3.21
|
|
|
|
# docker-cli (the stop/rm/rename/network/start the sidecar does) + busybox is the base
|
|
# Alpine shell, tar and date. That covers everything /update.sh needs.
|
|
RUN apk add --no-cache docker-cli
|
|
|
|
COPY update.sh /update.sh
|
|
RUN chmod +x /update.sh
|
|
|
|
ENTRYPOINT ["/update.sh"]
|