A search can now be saved with a schedule (every N hours, daily, or weekly at a given day and time). An internal scheduler runs it and keeps a snapshot of the results on a /data volume (JSON files, no new dependency). The new Watch tab lists the scheduled searches; the review page of each one shows, for any run of its history, the repositories never seen before and the ones that gained the most stars since the previous run. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
23 lines
671 B
Docker
23 lines
671 B
Docker
# Image versions are pinned: update them on purpose.
|
|
|
|
# ---- Build ----
|
|
FROM golang:1.27.1-alpine3.24 AS build
|
|
WORKDIR /src
|
|
COPY go.mod ./
|
|
COPY *.go ./
|
|
COPY web ./web
|
|
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/searchgit .
|
|
|
|
# ---- Final image ----
|
|
FROM alpine:3.24.2
|
|
RUN apk add --no-cache ca-certificates \
|
|
&& adduser -D -H -u 10001 searchgit \
|
|
&& mkdir /data && chown searchgit:searchgit /data
|
|
COPY --from=build /out/searchgit /usr/local/bin/searchgit
|
|
USER searchgit
|
|
ENV DATA_DIR=/data
|
|
VOLUME /data
|
|
EXPOSE 8080/tcp
|
|
HEALTHCHECK --interval=30s --timeout=3s CMD wget -qO- http://127.0.0.1:8080/healthz || exit 1
|
|
ENTRYPOINT ["/usr/local/bin/searchgit"]
|