autobrr/Dockerfile
soup 4884fec89c
builds(ci): containers build additional architectures (#1265)
* 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>
2023-12-25 19:41:33 +01:00

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"]