ahhh / Dockerfile
Nodiw52992's picture
Update Dockerfile
ce21b6f verified
Raw
History Blame Contribute Delete
1 kB
FROM debian:bookworm-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends \
bash curl git jq ca-certificates && \
rm -rf /var/lib/apt/lists/*
CMD bash -lc '\
set -e; \
mkdir -p /data/repos /data/logs; \
for page in $(seq 1 10); do \
echo "[page] $page"; \
curl -fsSL \
-H "Accept: application/vnd.github+json" \
"https://api.github.com/search/repositories?q=stars:%3E1&sort=stars&order=desc&per_page=100&page=$page" \
| jq -r ".items[].clone_url" \
| while read -r url; do \
[ -z "$url" ] && continue; \
name=$(basename "$url" .git); \
dir="/data/repos/$name"; \
if [ -d "$dir/.git" ]; then \
echo "[skip] $name"; \
else \
echo "[clone] $url"; \
git clone "$url" "$dir" || echo "$url" >> /data/logs/failed.txt; \
fi; \
done; \
sleep 2; \
done; \
echo "[done] top 1000 repos saved to /data/repos"; \
sleep infinity \
'