mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 16:59:12 +00:00

* refactor(dockerfile): optimize Docker builds Combined multiple run commands into single statements in both main and CI dockerfiles, leveraging Docker's caching mechanism more effectively. This change aims to reduce image size and build time. * hmm. * Update ci.Dockerfile * newline * what about this * three quorum members, three opinions * true believer, right? * when needed * it sounds like music * equals what * really though, what? * which one of you is the captain * is that Kwejian whiskey * ARG * ARGH * k. * take me to your leader * asd * Update ci.Dockerfile * try cache * Revert * Run Seperate platforms * docker_build * mother * aggressive elephant * leave me to my bath * introduce buildx cache * czechout manifests * front left paw * kill tags * dealing with a child * Update release.yml * try outputs * consolidation * - = * oxygen depleted * where's the soup * thanks buildx * what's a little avx among friends * Fine, I'll bring my own matches * zenuuuu * space, the final frontier * but why * ARE YOU HAPPY NOW * link those binaries * fast fail * just the time killer you need * add back generic arm * ruthless dictator barbie * kat * build: docker add more labels --------- Co-authored-by: Kyle Sanderson <kyle.leet@gmail.com> Co-authored-by: ze0s <43699394+zze0s@users.noreply.github.com>
59 lines
1.3 KiB
Docker
59 lines
1.3 KiB
Docker
# build web
|
|
FROM node:20.10.0-alpine3.19 AS web-builder
|
|
RUN corepack enable
|
|
|
|
WORKDIR /web
|
|
|
|
COPY web/package.json web/pnpm-lock.yaml ./
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
COPY web ./
|
|
RUN pnpm run build
|
|
|
|
# build app
|
|
FROM golang:1.20-alpine3.19 AS app-builder
|
|
|
|
ARG VERSION=dev
|
|
ARG REVISION=dev
|
|
ARG BUILDTIME
|
|
|
|
RUN apk add --no-cache git build-base tzdata
|
|
|
|
ENV SERVICE=autobrr
|
|
|
|
WORKDIR /src
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
COPY . ./
|
|
COPY --from=web-builder /web/dist ./web/dist
|
|
COPY --from=web-builder /web/build.go ./web
|
|
|
|
#ENV GOOS=linux
|
|
#ENV CGO_ENABLED=0
|
|
|
|
RUN go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${REVISION} -X main.date=${BUILDTIME}" -o bin/autobrr cmd/autobrr/main.go && \
|
|
go build -ldflags "-s -w -X main.version=${VERSION} -X main.commit=${REVISION} -X main.date=${BUILDTIME}" -o 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
|
|
|
|
COPY --from=app-builder /src/bin/autobrr /usr/local/bin/
|
|
COPY --from=app-builder /src/bin/autobrrctl /usr/local/bin/
|
|
|
|
EXPOSE 7474
|
|
|
|
ENTRYPOINT ["/usr/local/bin/autobrr", "--config", "/config"]
|