From 932da0a6b1f868e0c5ddf7ae72c236d9d8b65af0 Mon Sep 17 00:00:00 2001 From: mismirnov Date: Fri, 17 Jan 2025 22:19:11 +0300 Subject: [PATCH] Docker file added; --- .github/workflows/build.yml | 19 +++++++++++++++++++ build/tvl/Dockerfile | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 build/tvl/Dockerfile diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fde7c32c..634ca8a2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -87,3 +87,22 @@ jobs: cache-to: type=gha,mode=max tags: ${{ steps.meta-quotes.outputs.tags }} labels: ${{ steps.meta-quotes.outputs.labels }} + + # Tvl + + - name: Tvl image tags & labels + id: meta-tvl + uses: docker/metadata-action@v5 + with: + images: ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_IMAGE_BASE }}-tvl + + - name: Tvl image build & push + uses: docker/build-push-action@v5 + with: + context: . + file: build/tvl/Dockerfile + push: true + cache-from: type=gha + cache-to: type=gha,mode=max + tags: ${{ steps.meta-tvl.outputs.tags }} + labels: ${{ steps.meta-tvl.outputs.labels }} \ No newline at end of file diff --git a/build/tvl/Dockerfile b/build/tvl/Dockerfile new file mode 100644 index 00000000..63b1a351 --- /dev/null +++ b/build/tvl/Dockerfile @@ -0,0 +1,37 @@ +# --------------------------------------------------------------------- +# The first stage container, for building the application +# --------------------------------------------------------------------- +FROM golang:1.23.2-alpine AS builder + +ENV CGO_ENABLED=0 +ENV GO111MODULE=on +ENV GOOS=linux + +RUN apk --no-cache add ca-certificates + +RUN mkdir -p $GOPATH/src/github.com/celenium-io/celestia-indexer/ + +COPY ./go.* $GOPATH/src/github.com/celenium-io/celestia-indexer/ +WORKDIR $GOPATH/src/github.com/celenium-io/celestia-indexer +RUN go mod download + +COPY cmd/tvl cmd/tvl +COPY internal internal +COPY pkg pkg + +WORKDIR $GOPATH/src/github.com/celenium-io/celestia-indexer/cmd/tvl/ +RUN go build -a -o /go/bin/tvl . + +# --------------------------------------------------------------------- +# The second stage container, for running the application +# --------------------------------------------------------------------- +FROM scratch + +WORKDIR /app/celestia-indexer/ + +COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ +COPY --from=builder /go/bin/tvl /go/bin/tvl +COPY configs/dipdup.yml ./ +COPY database database + +ENTRYPOINT ["/go/bin/tvl", "-c", "dipdup.yml"] \ No newline at end of file