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 \ '