- Notifications
You must be signed in to change notification settings - Fork36
LightMirrors is a lightweight mirror server with caching capabilities that currently supports DockerHub, K8S, PyPI, PyTorch, and NPM.
NoCLin/LightMirrors
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
中文 |English
LightMirrors是一个开源的缓存镜像站服务,用于加速软件包下载和镜像拉取。目前支持DockerHub、K8s、GitHub Container Registry、Quay.io、PyPI、PyTorch、NPM、GoProxy等镜像缓存服务。 当前项目仍处于早期阶段。
欢迎提交Pull Request和Issue,我们非常期待您的宝贵建议和意见。
由于国内访问国外软件源的速度较慢,特别是DockerHub缺少国内镜像站,因此我们在本地部署镜像站来加速网络访问和节省外网带宽。
执行以下命令试用LightMirrors:
cp .env.example .envdocker-compose up
并尝试通过控制台输出的地址进行访问,https://aria2.local.homeinfra.org/aria2/index.html为aria2的管理界面,用于查看下载状态`。
可以使用以下命令进行测试镜像站是否正常工作:
docker pull docker.local.homeinfra.org/alpinepip3 download -i https://pypi.local.homeinfra.org/simple/ jinja2 --trusted-host pypi.local.homeinfra.orgpip3 download -i https://torch.local.homeinfra.org/whl/ torch --trusted-host torch.local.homeinfra.org
也可以通过查看./test/scripts
下的测试脚本验证其他镜像站是否正常工作。
- docker + docker-compose.
- 一个域名,设置
*.yourdomain
的A记录指向您服务器的IP. - 代理服务器(如有必要).
安全起见,我们默认开启了HTTPS,通过docker-compose.yml
中默认使用自签名证书。我们也提供了一个基于 Caddy 的 HTTPS 部署方案,具体请参考下一节。
修改.env
文件,设置下列参数:
BASE_DOMAIN
: 基础域名,如local.homeinfra.org
,可以通过*.local.homeinfra.org
访问镜像站。RPC_SECRET
:Aria2的RPC密钥。*_proxy
:代理服务器地址,如有必要。
配置完成之后,执行以下命令:
docker-compose up
在 .env 中配置 CLOUDFLARE_DNS_API_TOKEN。本项目提供了一个基于Cloudflare DNS的Caddyfile
和Dockerfile
。如果您希望使用其他DNS Provider或者LB,请自行修改。
配置完成后,使用以下命令代替上述的docker-compose up
(多了-f docker-compose-caddy.yml
) :
docker-compose -f docker-compose-caddy.yml up
LightMirrors依赖于两个组件:
- aria2 : 下载器与管理UI。
- mirrors: 镜像HTTP服务器,根据不同域名转发请求到不同模块。
- Aria2Ng
- PyPI
- DockerHub
- ...
假设我们的域名为 local.homeinfra.org,并且开启了了https,如果您使用的是http,请自行替换。
docker pull 的时候添加前缀docker.local.homeinfra.org
即可。
pip install jinja2 --index-url https://pypi.local.homeinfra.org/simple/ --trusted-host pypi.local.homeinfra.org
当使用自签名证书时,需要添加
--trusted-host
。
pip install torch --index-url https://torch.local.homeinfra.org/whl/
把download.pytorch.org
替换为torch.local.homeinfra.org
,
可以根据不同的硬件类型,切换不同的索引,如https://download.pytorch.org/whl/cpu ,其中
cpu
可以替换为cu116/cu118/cu121/rocm5.4.2 等等。具体请参考:https://pytorch.org/get-started/previous-versions/
npm 命令后加上--registry https://npm.local.homeinfra.org
即可。
npm install -S express --registry https://npm.local.homeinfra.org
About
LightMirrors is a lightweight mirror server with caching capabilities that currently supports DockerHub, K8S, PyPI, PyTorch, and NPM.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.