{"id":36827998,"url":"https://github.com/saveweb/saveweb-images","last_synced_at":"2026-01-12T14:08:53.506Z","repository":{"id":245086926,"uuid":"817219990","full_name":"saveweb/saveweb-images","owner":"saveweb","description":"various worker images","archived":false,"fork":false,"pushed_at":"2025-11-12T22:19:46.000Z","size":34,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-13T00:17:02.552Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saveweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-19T09:02:04.000Z","updated_at":"2025-11-12T22:19:50.000Z","dependencies_parsed_at":"2024-06-19T18:19:31.531Z","dependency_job_id":"da19bbe2-afd2-4802-b75a-473a102f5e63","html_url":"https://github.com/saveweb/saveweb-images","commit_stats":null,"previous_names":["saveweb/container-images"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saveweb/saveweb-images","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saveweb%2Fsaveweb-images","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saveweb%2Fsaveweb-images/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saveweb%2Fsaveweb-images/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saveweb%2Fsaveweb-images/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saveweb","download_url":"https://codeload.github.com/saveweb/saveweb-images/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saveweb%2Fsaveweb-images/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T14:08:52.675Z","updated_at":"2026-01-12T14:08:53.496Z","avatar_url":"https://github.com/saveweb.png","language":"Dockerfile","readme":"# saveweb-images\n\n该镜像仓库维护所有 saveweb 开发的数据抓取程序的容器镜像，这些镜像不占用 CPU、内存、存储资源，只需要网络就可运行  \n镜像的维护遵循社区最佳实践，容器内都主动使用非 root 账户执行。构建过程也完全公开，请放心使用  \n\n## 注意事项\n\n* 不可在相同 IP 下创建同一抓取程序的多个实例（如 huashijie-1, huashijie-2）。不同抓取程序可共存（如 huashijie, lowapk-v2）\n* 执行下面的启动命令前，请为自己选择一个可以用来识别自己贡献的贡献者 ID。如 `export ARCHIVIST=alice`。 (允许的字符: `A-z`, `0-9`, `-`, `_`)\n   * 如果你有多台机器，建议每台机器设置不同的 `ARCHIVIST`（比如 `alice-aws-us1` `alice-ali-zj3`），以防某台机器出错过多被 tracker 列入黑名单而影响同名 `ARCHIVIST` 机器。\n   * 虽然没人为限制，但 `ARCHIVIST` 名不宜过长，每一亿个任务，`ARCHIVIST` 字段每多一个字节就额外需要 100MB 存储空间。\n\n## 如何使用\n\n0. （可选）推荐部署 watchtower 容器实现容器镜像自动更新\n\n```bash\nsudo docker pull nickfedor/watchtower\nsudo docker rm -f watchtower \\\n    \u0026\u0026 sudo docker run -d \\\n    -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime:ro \\\n    -e 'TZ=Asia/Taipei' \\\n    -e 'WATCHTOWER_CLEANUP=true' \\\n    -e 'WATCHTOWER_POLL_INTERVAL=4800' \\\n    -e 'WATCHTOWER_INCLUDE_STOPPED=true' \\\n    -e 'WATCHTOWER_REVIVE_STOPPED=true' \\\n    --name watchtower --restart unless-stopped \\\n    nickfedor/watchtower\n```\n\n1. 部署所有 saveweb worker 容器\n\n```bash\nif [[ -z \"$ARCHIVIST\" ]]; then\n    echo \"WARN: ARCHIVIST must be set\"\n    exit 1\nfi\nfor _cname in \\\n    acfunction \\\n    aixifan_videoinfo \\\n    lowapk-v3 \\\n    ; do\n    _image=\"icecodexi/saveweb:${_cname}\"\n    docker pull \"${_image}\" \\\n        \u0026\u0026 docker stop \"${_cname}\"\n    docker rm -f \"${_cname}\" \\\n        \u0026\u0026 docker run --env ARCHIVIST=\"$ARCHIVIST\" --restart always \\\n            --volume /etc/localtime:/etc/localtime:ro \\\n            --cpu-shares 512 --memory 512M --memory-swap 512M \\\n            --detach  --name \"${_cname}\" --init \\\n            --label=com.centurylinklabs.watchtower.enable=true \\\n            \"${_image}\"\ndone\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaveweb%2Fsaveweb-images","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaveweb%2Fsaveweb-images","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaveweb%2Fsaveweb-images/lists"}