Multi-arch build
This commit is contained in:
2
.dockerignore
Normal file
2
.dockerignore
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
Makefile
|
||||||
|
README.md
|
||||||
21
Dockerfile
21
Dockerfile
@@ -1,4 +1,19 @@
|
|||||||
FROM restic/restic:0.15.1
|
FROM golang:1.19-alpine AS builder
|
||||||
RUN apk add --no-cache jq curl
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/backup.sh"]
|
ENV RESTIC_VERSION 0.15.1
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
COPY --from=builder /go/src/github.com/restic/restic/restic /usr/bin
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/restic"]
|
||||||
|
|||||||
14
Makefile
Normal file
14
Makefile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
ORG ?= genunix
|
||||||
|
VERSION = $(shell grep "ENV RESTIC_VERSION" Dockerfile | awk '{print $$3}')
|
||||||
|
PLATFORMS ?= linux/arm/v7,linux/arm64/v8,linux/amd64
|
||||||
|
|
||||||
|
build-all: print-version build-version build-latest
|
||||||
|
|
||||||
|
print-version:
|
||||||
|
@echo "Building $(ORG)/restic:$(VERSION) for $(PLATFORMS)"
|
||||||
|
|
||||||
|
build-version:
|
||||||
|
docker buildx build --push --platform $(PLATFORMS) --tag $(ORG)/restic:$(VERSION) .
|
||||||
|
|
||||||
|
build-latest:
|
||||||
|
docker buildx build --push --platform $(PLATFORMS) --tag $(ORG)/restic:latest .
|
||||||
Reference in New Issue
Block a user