diff --git a/.github/workflows/build-docker-gpu.yml b/.github/workflows/build-docker-gpu.yml index e5727d41..8fb6e721 100644 --- a/.github/workflows/build-docker-gpu.yml +++ b/.github/workflows/build-docker-gpu.yml @@ -17,7 +17,7 @@ concurrency: env: BUILDKIT_PROGRESS: "plain" # Full logs for CI build. - REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'docker.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL. + REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'quay.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL. REGISTRY_DST: ${{ vars.REGISTRY_DST || 'quay.io' }} # For tags of built images: where to push images to, docker.io or other destination registry URL. # DOCKER_REGISTRY_USERNAME and DOCKER_REGISTRY_PASSWORD is required for docker image push, they should be set in CI secrets. DOCKER_REGISTRY_USERNAME: ${{ vars.DOCKER_REGISTRY_USERNAME }} @@ -25,6 +25,7 @@ env: # used to sync image to mirror registry DOCKER_MIRROR_REGISTRY_USERNAME: ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }} DOCKER_MIRROR_REGISTRY_PASSWORD: ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }} + CI_PROJECT_NAME: ${{ vars.CI_PROJECT_NAME || 'LabNow/lab-foundation' }} jobs: # cuda docker image tags: https://hub.docker.com/r/nvidia/cuda/tags @@ -32,7 +33,7 @@ jobs: # latest cuda supported by tensorflow: https://tensorflow.google.cn/install/source?hl=en#gpu # latest cuda supported by paddlepadle: https://www.paddlepaddle.org.cn/ # latest cuda supported by vllm: https://docs.vllm.ai/en/latest/getting_started/installation/gpu.html?device=cuda - qpod_cuda_126: + job-cuda_126: name: 'cuda_12.6,cuda,nvidia-cuda' runs-on: ubuntu-latest steps: @@ -47,7 +48,7 @@ jobs: push_image cuda # reserved for vllm: https://github.com/vllm-project/vllm/blob/main/docker/Dockerfile - qpod_cuda_128: + job-cuda_128: name: 'cuda_12.8' runs-on: ubuntu-latest steps: @@ -61,7 +62,7 @@ jobs: push_image cuda # reserved for paddlepaddl 2.6: https://www.paddlepaddle.org.cn - qpod_cuda_120: + job-cuda_120: name: 'cuda_12.0' runs-on: ubuntu-latest steps: @@ -75,7 +76,7 @@ jobs: push_image cuda # reserved for paddlepaddl 2.6, torch, and vllm - qpod_cuda_118: + job-cuda_118: name: 'cuda_11.8' runs-on: ubuntu-latest steps: @@ -90,7 +91,7 @@ jobs: # reserved for tensorflow 1.x - qpod_cuda_112: + job-cuda_112: name: 'cuda_11.2' runs-on: ubuntu-latest steps: @@ -104,9 +105,9 @@ jobs: push_image cuda - qpod_tf2: + job-tf2: name: 'tf2,tf2-cuda126' - needs: qpod_cuda_126 + needs: job-cuda_126 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -116,9 +117,9 @@ jobs: alias_image tf2-cuda126 latest tf2 latest push_image - qpod_torch_cuda126: + job-torch_cuda126: name: 'torch,torch-cuda126' - needs: qpod_cuda_126 + needs: job-cuda_126 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -128,9 +129,9 @@ jobs: alias_image torch-cuda126 latest torch latest push_image - qpod_paddle_cuda120: + job-paddle_cuda120: name: 'paddle-cuda120,paddle-2.6' - needs: qpod_cuda_120 + needs: job-cuda_120 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -140,9 +141,9 @@ jobs: alias_image paddle-cuda120 latest paddle-2.6 latest push_image - qpod_paddle_cuda126: + job-paddle_cuda126: name: 'paddle-cuda126,paddle-3.0' - needs: qpod_cuda_126 + needs: job-cuda_126 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -153,9 +154,9 @@ jobs: push_image - qpod_py-nlp: + job-py-nlp: name: 'py-nlp,py-nlp-cuda126' - needs: qpod_cuda_126 + needs: job-cuda_126 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -165,9 +166,9 @@ jobs: alias_image py-nlp-cuda126 latest py-nlp latest push_image - qpod_py-nlp-cuda128: + job-py-nlp-cuda128: name: 'py-nlp-cuda128' - needs: qpod_cuda_128 + needs: job-cuda_128 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -177,9 +178,9 @@ jobs: push_image - qpod_py-cv: + job-py-cv: name: 'py-cv' - needs: qpod_cuda_126 + needs: job-cuda_126 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -189,9 +190,9 @@ jobs: push_image - qpod_core-cuda: + job-core-cuda: name: 'core-cuda,full-cuda-12.6' - needs: qpod_cuda_126 + needs: job-cuda_126 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -206,7 +207,7 @@ jobs: --build-arg "ARG_PROFILE_LATEX=base,cjk" alias_image full-cuda-12.6 latest core-cuda latest && push_image cuda - qpod_nvidia-ctk: + job-nvidia-ctk: name: 'nvidia-ctk' runs-on: ubuntu-latest steps: @@ -218,7 +219,7 @@ jobs: ## Sync all images in this build (listed by "names") to mirror registry. sync_images: - needs: ["qpod_core-cuda", "qpod_py-cv", "qpod_py-nlp", "qpod_torch_cuda126", "qpod_nvidia-ctk"] + needs: ["job-core-cuda", "job-py-cv", "job-py-nlp", "job-torch_cuda126", "job-nvidia-ctk"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -229,6 +230,6 @@ jobs: source ./tool.sh printf '%s' "$AUTH_FILE_CONTENT" > .github/workflows/auth.json && ls -alh ./.github/workflows printenv | grep -v 'PATH' > /tmp/docker.env && echo "REGISTRY_URL=${REGISTRY_DST}" >> /tmp/docker.env - docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_PREFIX_DST:-qpod}/docker-kit \ + docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_PREFIX_DST:-labnow}/docker-kit \ python /opt/utils/image-syncer/run_jobs.py --auth-file=/tmp/.github/workflows/auth.json \ --workflow-file=".github/workflows/build-docker-gpu.yml" diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index c32636bd..85e656c3 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -17,7 +17,7 @@ concurrency: env: BUILDKIT_PROGRESS: "plain" # Full logs for CI build. - REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'docker.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL. + REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'quay.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL. REGISTRY_DST: ${{ vars.REGISTRY_DST || 'quay.io' }} # For tags of built images: where to push images to, docker.io or other destination registry URL. # DOCKER_REGISTRY_USERNAME and DOCKER_REGISTRY_PASSWORD is required for docker image push, they should be set in CI secrets. DOCKER_REGISTRY_USERNAME: ${{ vars.DOCKER_REGISTRY_USERNAME }} @@ -25,9 +25,10 @@ env: # used to sync image to mirror registry DOCKER_MIRROR_REGISTRY_USERNAME: ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }} DOCKER_MIRROR_REGISTRY_PASSWORD: ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }} + CI_PROJECT_NAME: ${{ vars.CI_PROJECT_NAME || 'LabNow/lab-foundation' }} jobs: - qpod_base: + job-base: name: 'atom,base,python-3.12' runs-on: ubuntu-latest steps: @@ -39,9 +40,9 @@ jobs: build_image python-3.12 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.12" alias_image python-3.12 latest base latest && push_image - qpod_python: + job-python: name: 'python-3.7,python-3.13' - needs: 'qpod_base' + needs: 'job-base' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -52,9 +53,9 @@ jobs: build_image python-3.7 latest docker_base/Dockerfile --build-arg "PYTHON_VERSION=3.7" && push_image - qpod_core: + job-core: name: 'core' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -68,33 +69,33 @@ jobs: --build-arg "ARG_PROFILE_LATEX=base,cjk" push_image core - qpod_py-data: + job-py-data: name: 'py-data' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image py-data latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database" && push_image - qpod_py-chem: + job-py-chem: name: 'py-chem' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image py-chem latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,chem,torch" && push_image - qpod_py-std: + job-py-std: name: 'py-std' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image py-std latest docker_core/Dockerfile --build-arg "ARG_PROFILE_PYTHON=datascience,mkl,database,nlp,cv,chem" && push_image - qpod_py-jdk: + job-py-jdk: name: 'py-jdk' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -105,42 +106,42 @@ jobs: --build-arg "ARG_PROFILE_JAVA=base" push_image - qpod_r-base: + job-r-base: name: 'r-base' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image r-base latest docker_core/Dockerfile --build-arg "ARG_PROFILE_R=base" && push_image - qpod_r-std: + job-r-std: name: 'r-std' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image r-std latest docker_core/Dockerfile --build-arg "ARG_PROFILE_R=base,datascience" --build-arg "ARG_PROFILE_JAVA=base" && push_image - qpod_node: + job-node: name: 'node' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image node latest docker_core/Dockerfile --build-arg "ARG_PROFILE_NODEJS=base" && push_image - qpod_bun: + job-bun: name: 'bun' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image bun latest docker_core/Dockerfile --build-arg "ARG_PROFILE_NODEJS=bun" && push_image - qpod_jdk: + job-jdk: name: 'jdk-8,jdk-11,jdk-17,jdk-21,jdk' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -152,17 +153,17 @@ jobs: build_image jdk-8 latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JAVA=base" --build-arg "VERSION_JDK=8" alias_image jdk-11 latest jdk latest && push_image jdk - qpod_julia: + job-julia: name: 'julia' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image julia latest docker_core/Dockerfile --build-arg "ARG_PROFILE_JULIA=base" && push_image - qpod_go: + job-go: name: 'go,go-stack' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -173,17 +174,17 @@ jobs: build_image go-stack latest docker_core/Dockerfile --build-arg "ARG_PROFILE_GO=base" --build-arg "ARG_PROFILE_NODEJS=base" push_image go - qpod_rust: + job-rust: name: 'rust' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: source ./tool.sh && build_image rust latest docker_core/Dockerfile --build-arg "ARG_PROFILE_RUST=base" && push_image - qpod_data-science-stack: + job-data-science-stack: name: 'data-science-stack' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -196,9 +197,9 @@ jobs: --build-arg "ARG_PROFILE_JULIA=base" push_image data-science-stack - qpod_full-stack: + job-full-stack: name: 'full-stack' - needs: qpod_base + needs: job-base runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -215,9 +216,9 @@ jobs: push_image full-stack ## Postgres - qpod_postgres: + job-postgres: name: 'postgres-17,postgres-16,postgres-15' - needs: ["qpod_base"] + needs: ["job-base"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -234,9 +235,9 @@ jobs: push_image postgres- ## DockerKit - including image-syncer and docker-compsoe - qpod_docker_kit: + job-docker_kit: name: 'docker-kit' - needs: ["qpod_base"] + needs: ["job-base"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -245,15 +246,15 @@ jobs: DOCKER_MIRROR_REGISTRY: ${{ vars.DOCKER_MIRROR_REGISTRY }} run: | source ./tool.sh && build_image docker-kit latest docker_docker_kit/Dockerfile && push_image docker-kit - echo "jobs: { qpod_docker_kit: { name: 'docker-kit' } }" | tee ".github/workflows/build-docker.yml" > /dev/null + echo "jobs: { job-docker_kit: { name: 'docker-kit' } }" | tee ".github/workflows/build-docker.yml" > /dev/null printf '%s' "$AUTH_FILE_CONTENT" > .github/workflows/auth.json && ls -alh ./.github/workflows printenv | grep -v 'PATH' > /tmp/docker.env && echo "REGISTRY_URL=${REGISTRY_DST}" >> /tmp/docker.env - docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_PREFIX_DST:-qpod}/docker-kit \ + docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_PREFIX_DST:-labnow}/docker-kit \ python /opt/utils/image-syncer/run_jobs.py --auth-file=/tmp/.github/workflows/auth.json ## Sync all images in this build (listed by "names") to mirror registry. sync_images: - needs: ["qpod_docker_kit", "qpod_postgres", "qpod_full-stack", "qpod_core"] + needs: ["job-docker_kit", "job-postgres", "job-full-stack", "job-core"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -264,5 +265,5 @@ jobs: source ./tool.sh printf '%s' "$AUTH_FILE_CONTENT" > .github/workflows/auth.json && ls -alh ./.github/workflows printenv | grep -v 'PATH' > /tmp/docker.env && echo "REGISTRY_URL=${REGISTRY_DST}" >> /tmp/docker.env - docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_PREFIX_DST:-qpod}/docker-kit \ + docker run --rm --env-file /tmp/docker.env -v $(pwd):/tmp -w /tmp ${IMG_PREFIX_DST:-labnow}/docker-kit \ python /opt/utils/image-syncer/run_jobs.py --auth-file=/tmp/.github/workflows/auth.json diff --git a/LICENSE b/LICENSE index 54df88d3..e7fca5b9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ BSD 3-Clause License Copyright (c) 2018, QPod +Copyright (c) 2024, LabNow All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/README.md b/README.md index db4795b2..0e088ec0 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,30 @@ -# QPod Lab Foundation - Docker Image Stack +# LabNow Container Image Stack - Lab Foundation [![License](https://img.shields.io/badge/License-BSD%203--Clause-green.svg)](https://opensource.org/licenses/BSD-3-Clause) -[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/QPod/lab-foundation/build-docker.yml?branch=main)](https://github.com/QPod/lab-foundation/actions/workflows/build-docker.yml) -[![Recent Code Update](https://img.shields.io/github/last-commit/QPod/lab-foundation.svg)](https://github.com/QPod/lab-foundation/commits) -[![Visit Images on Quay.io](https://img.shields.io/badge/Quay.io-Images-green)](https://quay.io/organization/qpod) -[![Visit Images on DockerHub](https://img.shields.io/badge/DockerHub-Images-green)](https://hub.docker.com/u/qpod) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/LabNow-ai/lab-foundation/build-docker.yml?branch=main)](https://github.com/LabNow-ai/lab-foundation/actions/workflows/build-docker.yml) +[![Recent Code Update](https://img.shields.io/github/last-commit/LabNow-ai/lab-foundation.svg)](https://github.com/LabNow-ai/lab-foundation/commits) +[![Visit Images on Quay.io](https://img.shields.io/badge/Quay.io-Images-green)](https://quay.io/organization/labnow) +[![Visit Images on DockerHub](https://img.shields.io/badge/DockerHub-Images-green)](https://hub.docker.com/u/LabNow) -Please generously STAR★ our project or donate to us! [![GitHub Starts](https://img.shields.io/github/stars/QPod/lab-foundation.svg?label=Stars&style=social)](https://github.com/QPod/lab-foundation/stargazers) +Please generously STAR★ our project or donate to us! [![GitHub Starts](https://img.shields.io/github/stars/LabNow-ai/lab-foundation.svg?label=Stars&style=social)](https://github.com/LabNow-ai/lab-foundation/stargazers) [![Donate-PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/haobibo) [![Donate-AliPay](https://img.shields.io/badge/Donate-Alipay-blue.svg)](https://raw.githubusercontent.com/wiki/haobibo/resources/img/Donate-AliPay.png) [![Donate-WeChat](https://img.shields.io/badge/Donate-WeChat-green.svg)](https://raw.githubusercontent.com/wiki/haobibo/resources/img/Donate-WeChat.png) Discussion and contributions are welcome: [![Join the Discord Chat](https://img.shields.io/badge/Discuss_on-Discord-green)](https://discord.gg/kHUzgQxgbJ) -[![Open an Issue on GitHub](https://img.shields.io/github/issues/QPod/lab-foundation)](https://github.com/QPod/lab-foundation/issues) +[![Open an Issue on GitHub](https://img.shields.io/github/issues/LabNow-ai/lab-foundation)](https://github.com/LabNow-ai/lab-foundation/issues) -## Your Swiss Army Knife for AI & Data Science +## AI and Data Science Tools, Right at Your Fingertips -In a nutshell, `QPod` ( -[GitHub](https://github.com/QPod/lab-foundation) | -[quay.io](https://quay.io/organization/qpod) | -[DockerHub](https://hub.docker.com/r/qpod/qpod/) -) is an **out-of-box Data Science / AI environment and platform** at your fingertip which you would love 💕. +In a nutshell, `LabNow` ( +[GitHub](https://github.com/LabNow-ai) | +[quay.io](https://quay.io/organization/labnow) | +[DockerHub](https://hub.docker.com/r/LabNow) +) brings **out-of-box Data Science / AI environments and platform** to your fingertip to make data science accessible 💕. -AI/数据科学的瑞士军刀——QPod提供了一站式、开箱即用、可自由定制的,基于容器的、开源AI/数据科学开发、分析工具。 +LabNow —— 一键开启的数据科学与 AI 环境,加速你的智能创新之旅。 ## Documentation & Tutorial -[Wiki & Document](https://qpod.github.io) | [中文使用指引(含中国网络镜像)](https://qpod.github.io/docs/intro-cn) - -## Screenshot and Arch Diagram - -![Screenshot of QPod](https://raw.githubusercontent.com/wiki/QPod/qpod-hub/img/QPod-screenshot.webp "Screenshot of QPod") - -![Arch Diagram for QPod DevBox](https://raw.githubusercontent.com/wiki/QPod/docker-images/img/QPod-arch.svg "Arch Diagram for QPod DevBox") +[Wiki & Document](https://LabNow.ai) | [中文使用指引(含中国网络镜像)](https://labnow-ai.feishu.cn/wiki/wikcn0sBhMtb1KNRSUTettxWstc) diff --git a/docker_atom/Dockerfile b/docker_atom/Dockerfile index f5514d82..7bf4d2f8 100644 --- a/docker_atom/Dockerfile +++ b/docker_atom/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_IMG="ubuntu:noble" FROM ${BASE_IMG} -LABEL maintainer="haobibo@gmail.com" +LABEL maintainer="postmaster@labnow.ai" USER root diff --git a/docker_atom/work/script-setup-sys.sh b/docker_atom/work/script-setup-sys.sh index d87285ad..562f179f 100644 --- a/docker_atom/work/script-setup-sys.sh +++ b/docker_atom/work/script-setup-sys.sh @@ -14,8 +14,8 @@ setup_tini() { setup_supervisord() { OS="linux" && ARCH="amd64" \ - && VER_SUPERVISORD=$(curl -sL https://github.com/QPod/supervisord/releases.atom | grep "releases/tag" | head -1 | grep -Po '(\d[\d|.]+)') \ - && URL_SUPERVISORD="https://github.com/QPod/supervisord/releases/download/v${VER_SUPERVISORD}/supervisord_${VER_SUPERVISORD}_${OS}_${ARCH}.tar.gz" \ + && VER_SUPERVISORD=$(curl -sL https://github.com/LabNow-ai/supervisord/releases.atom | grep "releases/tag" | head -1 | grep -Po '(\d[\d|.]+)') \ + && URL_SUPERVISORD="https://github.com/LabNow-ai/supervisord/releases/download/v${VER_SUPERVISORD}/supervisord_${VER_SUPERVISORD}_${OS}_${ARCH}.tar.gz" \ && echo "Downloading Supervisord ${VER_SUPERVISORD} from ${URL_SUPERVISORD}" \ && curl -o /tmp/TMP.tgz -sL $URL_SUPERVISORD && tar -C /tmp/ -xzf /tmp/TMP.tgz && rm /tmp/TMP.tgz \ && mkdir -pv /opt/bin/ && mv /tmp/supervisord /opt/bin/ && ln -sf /opt/bin/supervisord /usr/local/bin/ ; diff --git a/docker_base/Dockerfile b/docker_base/Dockerfile index 2be0e381..251fd00d 100644 --- a/docker_base/Dockerfile +++ b/docker_base/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_NAMESPACE ARG BASE_IMG="atom" FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG} -LABEL maintainer="haobibo@gmail.com" +LABEL maintainer="postmaster@labnow.ai" ARG SYS_PY_REPLACE="true" ARG PYTHON_VERSION="3.12" diff --git a/docker_core/Dockerfile b/docker_core/Dockerfile index d4f58dfc..3a22eba0 100644 --- a/docker_core/Dockerfile +++ b/docker_core/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_NAMESPACE ARG BASE_IMG="base" FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG} -LABEL maintainer="haobibo@gmail.com" +LABEL maintainer="postmaster@labnow.ai" ARG ARG_PROFILE_NODEJS diff --git a/docker_cuda/README.md b/docker_cuda/README.md index 328fc17f..64fbccb5 100644 --- a/docker_cuda/README.md +++ b/docker_cuda/README.md @@ -1,7 +1,7 @@ # Install `nvidia-container-toolkit` (nvidia-ctk) offline -[![Docker Pulls](https://img.shields.io/docker/pulls/qpod/nvidia-ctk.svg)](https://hub.docker.com/r/qpod/nvidia-ctk) -[![Docker Starts](https://img.shields.io/docker/stars/qpod/nvidia-ctk.svg)](https://hub.docker.com/r/qpod/nvidia-ctk) +[![Docker Pulls](https://img.shields.io/docker/pulls/labnow/nvidia-ctk.svg)](https://hub.docker.com/r/labnow/nvidia-ctk) +[![Docker Starts](https://img.shields.io/docker/stars/labnow/nvidia-ctk.svg)](https://hub.docker.com/r/labnow/nvidia-ctk) This document and docker image helps you to install `nvidia-ctk` (NVIDIA Container Toolkit) offline, which is especially usefull when your machine is in a restricted / air-gapped network. @@ -41,7 +41,7 @@ Please follow the instructions below to export install packages to your local fi ```bash # a folder to store tmp files -- do not change it as it will be used in the file: /etc/apt/sources.list.d/nvidia-container-toolkit.list LOCAL_REPO="/tmp/nvidia.github.io" -mkdir -pv ${LOCAL_REPO} && cd ${LOCAL_REPO} && docker run --rm -it -v $(pwd):/tmp qpod/nvidia-ctk +mkdir -pv ${LOCAL_REPO} && cd ${LOCAL_REPO} && docker run --rm -it -v $(pwd):/tmp labnow/nvidia-ctk cat $LOCAL_REPO/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg diff --git a/docker_cuda/nvidia-ctk.Dockerfile b/docker_cuda/nvidia-ctk.Dockerfile index c52fd294..84bf766d 100644 --- a/docker_cuda/nvidia-ctk.Dockerfile +++ b/docker_cuda/nvidia-ctk.Dockerfile @@ -2,7 +2,7 @@ ARG BASE_NAMESPACE ARG BASE_IMG="busybox" FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG} -LABEL maintainer="haobibo@gmail.com" +LABEL maintainer="postmaster@labnow.ai" LABEL usage="docker run --rm -it -v $(pwd):/tmp `docker-image-name`" ENV DIR_DATA="/home/" WORKDIR ${DIR_DATA} diff --git a/docker_cuda/nvidia-cuda.Dockerfile b/docker_cuda/nvidia-cuda.Dockerfile index b94e6b66..604e0305 100644 --- a/docker_cuda/nvidia-cuda.Dockerfile +++ b/docker_cuda/nvidia-cuda.Dockerfile @@ -4,7 +4,7 @@ ARG BASE_NAMESPACE ARG BASE_IMG="cuda:latest" FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG} -LABEL maintainer="haobibo@gmail.com" +LABEL maintainer="postmaster@labnow.ai" # Let NVIDIA docker ignore cuda requirement check ENV NVIDIA_DISABLE_REQUIRE=1 diff --git a/docker_docker_kit/Dockerfile b/docker_docker_kit/Dockerfile index 2f75b72a..334d180b 100644 --- a/docker_docker_kit/Dockerfile +++ b/docker_docker_kit/Dockerfile @@ -4,7 +4,7 @@ ARG BASE_NAMESPACE ARG BASE_IMG="base" FROM ${BASE_NAMESPACE:+$BASE_NAMESPACE/}${BASE_IMG} -LABEL maintainer="haobibo@gmail.com" +LABEL maintainer="postmaster@labnow.ai" ENV XDG_RUNTIME_DIR="/tmp" COPY work /opt/utils/ diff --git a/docker_docker_kit/README.md b/docker_docker_kit/README.md index 2b4ece4e..90b213d3 100644 --- a/docker_docker_kit/README.md +++ b/docker_docker_kit/README.md @@ -20,7 +20,7 @@ docker run --rm \ -e DOCKER_REGISTRY_USERNAME='' \ -e DOCKER_MIRROR_REGISTRY_USERNAME='' \ -e DOCKER_MIRROR_REGISTRY_PASSWORD='' \ - qpod/docker-kit python /opt/utils/image-syncer/run_sync.py library/ubuntu --source-registry='quay.io' --target-registry='docker.io' + labnow/docker-kit python /opt/utils/image-syncer/run_sync.py library/ubuntu --source-registry='quay.io' --target-registry='docker.io' ``` Fill the environment variables above, and more details can be found in code: `./work/image-syncer/run_sync.py`. @@ -45,7 +45,7 @@ registry.cn-hangzhou.aliyuncs.com: The `images.yaml` file should look like: ```yaml -quay.io/qpod/docker-kit: - - docker.io/qpod/docker-kit - - registry.cn-hangzhou.aliyuncs.com/qpod/docker-kit +quay.io/labnow/docker-kit: + - docker.io/labnow/docker-kit + - registry.cn-hangzhou.aliyuncs.com/labnow/docker-kit ``` diff --git a/tool.sh b/tool.sh index 30030acc..415d41f8 100755 --- a/tool.sh +++ b/tool.sh @@ -1,7 +1,7 @@ #!/bin/bash set -xu -CI_PROJECT_NAME=${GITHUB_REPOSITORY:-"QPod/lab-foundation"} +CI_PROJECT_NAME=${CI_PROJECT_NAME:-$GITHUB_REPOSITORY} CI_PROJECT_BRANCH=${GITHUB_HEAD_REF:-"main"} CI_PROJECT_SPACE=$(echo "${CI_PROJECT_BRANCH}" | cut -f1 -d'/') @@ -9,7 +9,7 @@ if [ "${CI_PROJECT_BRANCH}" = "main" ] ; then # If on the main branch, docker images namespace will be same as CI_PROJECT_NAME's name space export CI_PROJECT_NAMESPACE="$(dirname ${CI_PROJECT_NAME})" ; else - # not main branch, docker namespace = {CI_PROJECT_NAME's name space} + "0" + {1st substr before / in CI_PROJECT_SPACE} + # not main branch, docker namespace = {CI_PROJECT_NAME's name space} + "-" + {1st substr before / in CI_PROJECT_SPACE} export CI_PROJECT_NAMESPACE="$(dirname ${CI_PROJECT_NAME})0${CI_PROJECT_SPACE}" ; fi