autobrr/ci.Dockerfile
Kyle Sanderson 95cd053db5
chore(build): update go and node (#1301)
* chore(build): sync go and node

* node20

* golang:1.20-alpine3.19

* 20.10.0-alpine3.19 golang:1.20-alpine3.19
2023-12-16 11:52:24 -08:00

41 lines
1.1 KiB
Docker

# build app
FROM --platform=$BUILDPLATFORM golang:1.20-alpine3.19 AS app-builder
RUN apk add --no-cache git tzdata
ENV SERVICE=autobrr
WORKDIR /src
COPY . ./
RUN --mount=target=. \
go mod download
ARG VERSION=dev
ARG REVISION=dev
ARG BUILDTIME
ARG TARGETOS TARGETARCH
RUN --mount=target=. \
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${REVISION} -X main.date=${BUILDTIME}" -o /out/bin/autobrr cmd/autobrr/main.go
RUN --mount=target=. \
GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${REVISION} -X main.date=${BUILDTIME}" -o /out/bin/autobrrctl cmd/autobrrctl/main.go
# build runner
FROM alpine:latest
LABEL org.opencontainers.image.source = "https://github.com/autobrr/autobrr"
ENV HOME="/config" \
XDG_CONFIG_HOME="/config" \
XDG_DATA_HOME="/config"
RUN apk --no-cache add ca-certificates curl tzdata jq
WORKDIR /app
VOLUME /config
EXPOSE 7474
ENTRYPOINT ["/usr/local/bin/autobrr", "--config", "/config"]
COPY --from=app-builder /out/bin/autobrr /usr/local/bin/
COPY --from=app-builder /out/bin/autobrrctl /usr/local/bin/