Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/task-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
steps:
- uses: actions/checkout@v5
- env:
# required to set AUTH_FILE_CONTENT secret in GitHub secrets for Actions
AUTH_FILE_CONTENT: ${{ secrets.AUTH_FILE_CONTENT }}
run: |
printf '%s' "$AUTH_FILE_CONTENT" > .github/workflows/auth.json && ls -alh ./.github/workflows
Expand Down
4 changes: 2 additions & 2 deletions README-zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

## 项目用途

- 使用 `task-sync-docker-images/images.yaml` 定义需要同步的镜像及目标仓库。
- 通过 GitHub Actions 工作流,使用 `labnow/docker-kit` 容器中的 `image-syncer` 执行同步。
- 使用 [`task-sync-docker-images/images.yaml`](task-sync-docker-images/images.yaml) 定义需要同步的镜像及目标仓库。
- 通过 GitHub Actions 工作流,使用 [labnow/docker-kit](https://github.com/LabNow-ai/lab-foundation/tree/main/docker_docker_kit) 容器中的 [image-syncer](https://github.com/AliyunContainerService/image-syncer/blob/master/README-zh_CN.md) 执行同步。
- 按配置将镜像推送到目标仓库。

## 使用方式(Fork + 自定义)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

This repository provides an automated GitHub Actions workflow to sync container images from source registries to mirror registries. It is designed for teams that need repeatable, auditable image mirroring using a simple YAML configuration.

中文介绍: `README-zh_CN.md`
[中文介绍](README-zh_CN.md)

## What This Project Does

- Defines image mappings in `task-sync-docker-images/images.yaml`.
- Runs a GitHub Actions workflow that uses `image-syncer` inside `labnow/docker-kit`.
- Defines image mappings in [`task-sync-docker-images/images.yaml`](task-sync-docker-images/images.yaml).
- Runs a GitHub Actions workflow that uses [image-syncer](https://github.com/AliyunContainerService/image-syncer/blob/master/README.md) inside [labnow/docker-kit](https://github.com/LabNow-ai/lab-foundation/tree/main/docker_docker_kit) to sync images.
- Pushes images to target registries based on the mappings.

## How to Use (Fork + Customize)
Expand Down
18 changes: 9 additions & 9 deletions task-sync-docker-images/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,27 +55,27 @@ registry.cn-hangzhou.aliyuncs.com:

### auth.json Example

Notice: the `AUTH_FILE_CONTENT` use this format by compact the JSON string into a single line.
Notice: the `AUTH_FILE_CONTENT` environment variable use this format by compact the JSON string into a single line.

```json
{
"docker.io": {
"username": "<your-docker-io-username>",
"password": "<your-docker-io-password>",
"username": "your-docker-io-username",
"password": "your-docker-io-password",
"insecure": true
},
"quay.io": {
"username": "<your-quay-io-username>",
"password": "<your-quay-io-password>",
"username": "your-quay-io-username",
"password": "your-quay-io-password",
"insecure": true
},
"registry.cn-beijing.aliyuncs.com": {
"username": "<your-aliyun-acr-username>",
"password": "<your-aliyun-acr-password>"
"username": "your-aliyun-acr-username",
"password": "your-aliyun-acr-password"
},
"registry.cn-hangzhou.aliyuncs.com": {
"username": "<your-aliyun-acr-username>",
"password": "<your-aliyun-acr-password>"
"username": "your-aliyun-acr-username",
"password": "your-aliyun-acr-password"
}
}
```
36 changes: 18 additions & 18 deletions task-sync-docker-images/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,68 +3,68 @@
# nvidia/cuda: https://hub.docker.com/r/nvidia/cuda/tags
docker.io/nvidia/cuda:12.6.3-cudnn-devel-ubuntu24.04,12.4.1-cudnn-devel-ubuntu22.04,12.0.1-cudnn8-devel-ubuntu22.04,11.8.0-cudnn8-devel-ubuntu22.04,11.2.2-cudnn8-devel-ubuntu20.04:
- quay.io/labnow/nvidia-cuda
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/nvidia-cuda
- registry.cn-beijing.aliyuncs.com/labnow-ai/nvidia-cuda
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/nvidia-cuda
- registry.cn-beijing.aliyuncs.com/labnow-oss/nvidia-cuda


# Elasticserach
# - ref1: https://github.com/elastic/elasticsearch/releases
# - ref2: https://www.elastic.co/docs/deploy-manage/deploy/self-managed/install-elasticsearch-with-docker
docker.elastic.co/elasticsearch/elasticsearch:7.17.28,8.11.3,8.17.5,8.18.0,9.0.0:
- quay.io/labnow/elasticsearch
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/elasticsearch
- registry.cn-beijing.aliyuncs.com/labnow-ai/elasticsearch
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/elasticsearch
- registry.cn-beijing.aliyuncs.com/labnow-oss/elasticsearch


# Minio
# - ref1: https://github.com/minio/minio/releases
# - ref2: https://min.io/docs/minio/container/index.html
docker.io/minio/minio:latest,RELEASE.2023-12-20T01-00-02Z,RELEASE.2025-04-08T15-41-24Z:
- quay.io/labnow/minio
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/minio
- registry.cn-beijing.aliyuncs.com/labnow-ai/minio
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/minio
- registry.cn-beijing.aliyuncs.com/labnow-oss/minio


# valkey
# - ref1: https://github.com/valkey-io/valkey/releases
# - ref2: https://hub.docker.com/r/valkey/valkey
docker.io/valkey/valkey:latest,8,8.1,8.1.0:
- quay.io/labnow/valkey
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/valkey
- registry.cn-beijing.aliyuncs.com/labnow-ai/valkey
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/valkey
- registry.cn-beijing.aliyuncs.com/labnow-oss/valkey


# k3s
# - ref1: https://github.com/k3s-io/k3s/releases
# - ref2: https://docs.k3s.io/installation/airgap
rancher/k3s:latest,v1.32.3-k3s1:
- quay.io/labnow/k3s
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/k3s
- registry.cn-beijing.aliyuncs.com/labnow-ai/k3s
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/k3s
- registry.cn-beijing.aliyuncs.com/labnow-oss/k3s


# k3d: https://github.com/k3d-io/k3d/pkgs/container/k3d
ghcr.io/k3d-io/k3d:latest,5-dind,5:
- quay.io/labnow/k3s
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/k3d
- registry.cn-beijing.aliyuncs.com/labnow-ai/k3d
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/k3d
- registry.cn-beijing.aliyuncs.com/labnow-oss/k3d


# k3d-proxy:https://github.com/k3d-io/k3d/pkgs/container/k3d-proxy
ghcr.io/k3d-io/k3d-proxy:latest,5:
- quay.io/labnow/k3s
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/k3d-proxy
- registry.cn-beijing.aliyuncs.com/labnow-ai/k3d-proxy
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/k3d-proxy
- registry.cn-beijing.aliyuncs.com/labnow-oss/k3d-proxy


# k3d-tools: https://github.com/k3d-io/k3d/pkgs/container/k3d-tools
ghcr.io/k3d-io/k3d-tools:latest,5:
- quay.io/labnow/k3s
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/k3d-tools
- registry.cn-beijing.aliyuncs.com/labnow-ai/k3d-tools
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/k3d-tools
- registry.cn-beijing.aliyuncs.com/labnow-oss/k3d-tools

# kube-scheduler
registry.k8s.io/kube-scheduler:/v\d+\.\d+\.\d+/:
- quay.io/labnow/kube-scheduler
- registry.cn-hangzhou.aliyuncs.com/labnow-ai/kube-scheduler
- registry.cn-beijing.aliyuncs.com/labnow-ai/kube-scheduler
- registry.cn-hangzhou.aliyuncs.com/labnow-oss/kube-scheduler
- registry.cn-beijing.aliyuncs.com/labnow-oss/kube-scheduler
Loading