2023-05-19 11:43:11 -04:00
|
|
|
# the official binaries are cross-built from Linux running on an AMD64 host
|
|
|
|
|
# other architectures also seem to generate identical binaries but stay on the safe side
|
2025-11-16 10:42:33 -05:00
|
|
|
FROM --platform=linux/amd64 restic/builder:latest AS helper
|
2023-05-19 11:16:29 -04:00
|
|
|
|
|
|
|
|
ARG TARGETOS
|
|
|
|
|
ARG TARGETARCH
|
|
|
|
|
|
2023-06-17 10:22:50 -04:00
|
|
|
COPY --chown=build . /restic
|
2023-05-19 11:43:11 -04:00
|
|
|
RUN go run helpers/build-release-binaries/main.go --platform $TARGETOS/$TARGETARCH --skip-compress
|
|
|
|
|
RUN mv /output/restic_${TARGETOS}_${TARGETARCH} /output/restic
|
2023-05-19 11:16:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
FROM alpine:latest
|
|
|
|
|
|
2025-09-22 12:38:25 -04:00
|
|
|
LABEL org.opencontainers.image.title="restic"
|
|
|
|
|
LABEL org.opencontainers.image.description="Fast, secure, efficient backup program"
|
|
|
|
|
LABEL org.opencontainers.image.url="https://restic.net"
|
|
|
|
|
LABEL org.opencontainers.image.documentation="https://restic.readthedocs.io"
|
|
|
|
|
LABEL org.opencontainers.image.source="https://github.com/restic/restic"
|
|
|
|
|
|
2023-05-19 11:43:11 -04:00
|
|
|
COPY --from=helper /output/restic /usr/bin
|
2025-11-16 10:42:33 -05:00
|
|
|
COPY ./docker/entrypoint.sh /entrypoint.sh
|
2023-10-01 06:00:15 -04:00
|
|
|
RUN apk add --no-cache ca-certificates fuse openssh-client tzdata jq
|
2023-05-19 11:16:29 -04:00
|
|
|
|
2025-11-16 10:42:33 -05:00
|
|
|
# IO class default is "none"- 0, however busybox rejects ionice `-c0 -n<something>`
|
|
|
|
|
# since priority has no meaning for no scheduler.
|
|
|
|
|
# Thus the entrypoint script below is necessary.
|
|
|
|
|
ENV IONICE_CLASS=
|
|
|
|
|
ENV IONICE_PRIORITY=4
|
|
|
|
|
ENV NICE=0
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|