FROM --platform=$BUILDPLATFORM golang:1.27 AS build ARG TARGETOS ARG TARGETARCH WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /backup . FROM restic/restic:0.19.1 AS restic FROM debian:trixie-slim RUN apt-get update && \ apt-get install -y --no-install-recommends ca-certificates curl gnupg && \ curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg && \ echo "deb http://apt.postgresql.org/pub/repos/apt trixie-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \ curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/mariadb.gpg && \ echo "deb https://deb.mariadb.org/11.8/debian trixie main" > /etc/apt/sources.list.d/mariadb.list && \ apt-get update && \ apt-get upgrade -y --no-install-recommends && \ apt-get install -y --no-install-recommends postgresql-client-18 mariadb-client sqlite3 && \ apt-get purge -y --auto-remove curl gnupg && \ rm -rf /var/lib/apt/lists/* COPY --from=build --chown=root:root /backup /backup COPY --from=restic --chown=root:root /usr/bin/restic /usr/local/bin/restic ENTRYPOINT ["/backup"]