mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-12 12:25:22 +00:00
Zoekt index server Dockerfile
This commit is contained in:
parent
2069fe6251
commit
edb6e1a28f
4 changed files with 72 additions and 0 deletions
40
Dockerfile.zoekt-indexserver
Normal file
40
Dockerfile.zoekt-indexserver
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
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 DATA_DIR /zoekt-data/
|
||||||
|
RUN mkdir -p ${DATA_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"]
|
||||||
6
configs/config.json
Normal file
6
configs/config.json
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"GithubOrg": "TaqlaAI",
|
||||||
|
"NoArchived": true
|
||||||
|
}
|
||||||
|
]
|
||||||
10
docker-compose.yml
Normal file
10
docker-compose.yml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
zoekt-indexserver:
|
||||||
|
build:
|
||||||
|
dockerfile: Dockerfile.zoekt-indexserver
|
||||||
|
environment:
|
||||||
|
- GITHUB_TOKEN=${GITHUB_TOKEN}
|
||||||
|
- CONFIG_PATH=/app/configs/config.json
|
||||||
|
volumes:
|
||||||
|
- ./configs/config.json:/app/configs/config.json:r
|
||||||
16
entrypoint.zoekt-indexserver.sh
Normal file
16
entrypoint.zoekt-indexserver.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Check if GITHUB_TOKEN is set
|
||||||
|
if [ -n "$GITHUB_TOKEN" ]; then
|
||||||
|
echo "$GITHUB_TOKEN" > "$HOME/.github-token"
|
||||||
|
chmod 600 "$HOME/.github-token"
|
||||||
|
|
||||||
|
# Configure Git with the provided GITHUB_TOKEN
|
||||||
|
# @see : https://github.com/sourcegraph/zoekt/issues/578#issuecomment-1519369619
|
||||||
|
git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/".insteadof "https://github.com"
|
||||||
|
else
|
||||||
|
echo -e "\e[33mWarning: Private GitHub repositories will not be indexed since GITHUB_TOKEN was not set. If you are not using GitHub, disregard.\e[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "zoekt-indexserver" "-data_dir" "${DATA_DIR}" "-mirror_config" "${CONFIG_PATH}"
|
||||||
Loading…
Reference in a new issue