23 lines
728 B
Docker
Executable File
23 lines
728 B
Docker
Executable File
FROM golang:1.12.5-alpine3.9 as rbuilder
|
|
|
|
ENV GOPATH=/go
|
|
RUN apk add --no-cache git bash ca-certificates
|
|
RUN go get github.com/restic/restic
|
|
WORKDIR /go/src/github.com/restic/restic/cmd/restic
|
|
RUN git checkout v0.9.5
|
|
RUN CGO_ENABLED=0 go build -o /go/bin/restic -a -installsuffix cgo
|
|
|
|
FROM alpine:3.9
|
|
|
|
WORKDIR /main
|
|
RUN apk add --no-cache ca-certificates bash
|
|
COPY --from=rbuilder /go/bin/ /main
|
|
|
|
VOLUME /mnt
|
|
RUN echo \
|
|
'out="$(/main/restic init /mnt 2>&1 | grep -v config.file.already.exists | grep -v created.restic.repository | tr -d "\\n" )"; if test -n "$out"; then printf "ERR: $out\n"; else exec /main/restic "$@"; fi' \
|
|
> /entrypoint.sh \
|
|
&& chmod +x /entrypoint.sh
|
|
CMD []
|
|
ENTRYPOINT ["bash", "/entrypoint.sh"]
|