FROM golang:1.22.2-alpine3.19 AS builder RUN apk add --no-cache ca-certificates WORKDIR /zoekt COPY vendor/zoekt/go.mod vendor/zoekt/go.sum ./ RUN go mod download COPY vendor/zoekt ./ RUN CGO_ENABLED=0 GOOS=linux go build -o /cmd/ ./cmd/... FROM alpine:3.19 AS zoekt WORKDIR /app RUN apk add --no-cache git ca-certificates bind-tools tini jansson wget COPY vendor/zoekt/install-ctags-alpine.sh . RUN ./install-ctags-alpine.sh && rm install-ctags-alpine.sh ENV ZOEKT_DATA_CACHE_DIR /zoekt-data/ RUN mkdir -p ${ZOEKT_DATA_CACHE_DIR} ENV CONFIG_PATH /app/configs/config.json COPY entrypoint.zoekt-indexserver.sh ./entrypoint.sh RUN chmod +x ./entrypoint.sh COPY --from=builder \ /cmd/zoekt-git-index \ /cmd/zoekt-indexserver \ /cmd/zoekt-mirror-github \ /cmd/zoekt-mirror-gitiles \ /cmd/zoekt-mirror-bitbucket-server \ /cmd/zoekt-mirror-gitlab \ /cmd/zoekt-mirror-gerrit \ /usr/local/bin/ ENTRYPOINT ["/sbin/tini", "--", "./entrypoint.sh"]