FROM golang:1.23-alpine AS builder

ARG RESTIC_VERSION=0.17.3
RUN apk add --no-cache git
RUN git clone --depth 1 --branch v${RESTIC_VERSION} https://github.com/restic/restic.git /go/src/github.com/restic/restic

WORKDIR /go/src/github.com/restic/restic

RUN go mod download
RUN go run build.go

FROM alpine:latest AS restic

RUN apk add --update --no-cache ca-certificates fuse openssh-client tzdata jq curl gettext

COPY --from=builder /go/src/github.com/restic/restic/restic /usr/bin

ADD backup.sh /usr/local/bin/backup.sh
RUN chmod +x /usr/local/bin/backup.sh

ENTRYPOINT ["/usr/bin/restic"]
