Update Docker image tags and build process for NAS development support

This commit is contained in:
xiao 2025-01-06 09:30:38 +08:00
parent 6495238639
commit 961cd9a6d2
5 changed files with 100 additions and 74 deletions

148
.cnb.yml
View File

@ -6,84 +6,84 @@ $:
build:
dockerfile: .ide/Dockerfile
push:
- runner:
tags: cnb:arch:amd64
services:
- docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env:
IMAGE_TAG: btpanel/baota:nas-linux-amd64
stages:
- name: docker login
script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD"
- name: docker build
script: docker build -t ${IMAGE_TAG} .
- name: docker push
script: docker push ${IMAGE_TAG}
- name: resolve
type: cnb:resolve
options:
key: build-amd64
# - runner:
# tags: cnb:arch:amd64
# services:
# - docker
# imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
# env:
# IMAGE_TAG: btpanel/baota:nas-dev-linux-amd64
# stages:
# - name: docker login
# script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD"
# - name: docker build
# script: docker build -t ${IMAGE_TAG} .
# - name: docker push
# script: docker push ${IMAGE_TAG}
# - name: resolve
# type: cnb:resolve
# options:
# key: build-amd64
- runner:
tags: cnb:arch:arm64:v8
services:
- docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env:
IMAGE_TAG: btpanel/baota:nas-linux-arm64
stages:
- name: docker login
script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD"
- name: docker build
script: docker build -t ${IMAGE_TAG} -f ./arm64/Dockerfile ./arm64
- name: docker push
script: docker push ${IMAGE_TAG}
- name: resolve
type: cnb:resolve
options:
key: build-arm64
# - runner:
# tags: cnb:arch:arm64:v8
# services:
# - docker
# imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
# env:
# IMAGE_TAG: btpanel/baota:nas-dev-linux-arm64
# stages:
# - name: docker login
# script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD"
# - name: docker build
# script: docker build -t ${IMAGE_TAG} -f ./arm64/Dockerfile ./arm64
# - name: docker push
# script: docker push ${IMAGE_TAG}
# - name: resolve
# type: cnb:resolve
# options:
# key: build-arm64
- services:
- docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env:
IMAGE_TAG: btpanel/baota:nas
stages:
- name: await the amd64
type: cnb:await
options:
key: build-amd64
- name: await the arm64
type: cnb:await
options:
key: build-arm64
- name: manifest
image: cnbcool/manifest
settings:
username: $DOCKER_USERNAME
password: $DOCKER_PASSWD
target: ${IMAGE_TAG}
template: ${IMAGE_TAG}-OS-ARCH
platforms:
- linux/amd64
- linux/arm64
- name: clear
image: lumir/remove-dockerhub-tag
args:
- --user
- $DOCKER_USERNAME
- --password
- $DOCKER_PASSWD
- ${IMAGE_TAG}-linux-amd64
- ${IMAGE_TAG}-linux-arm64
# - services:
# - docker
# imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
# env:
# IMAGE_TAG: btpanel/baota:nas-dev
# stages:
# - name: await the amd64
# type: cnb:await
# options:
# key: build-amd64
# - name: await the arm64
# type: cnb:await
# options:
# key: build-arm64
# - name: manifest
# image: cnbcool/manifest
# settings:
# username: $DOCKER_USERNAME
# password: $DOCKER_PASSWD
# target: ${IMAGE_TAG}
# template: ${IMAGE_TAG}-OS-ARCH
# platforms:
# - linux/amd64
# - linux/arm64
# - name: clear
# image: lumir/remove-dockerhub-tag
# args:
# - --user
# - $DOCKER_USERNAME
# - --password
# - $DOCKER_PASSWD
# - ${IMAGE_TAG}-linux-amd64
# - ${IMAGE_TAG}-linux-arm64
- runner:
tags: cnb:arch:amd64
services:
- docker
env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas-linux-amd64
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas-dev-linux-amd64
stages:
- name: docker login
script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
@ -101,7 +101,7 @@ $:
services:
- docker
env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas-linux-arm64
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas-dev-linux-arm64
stages:
- name: docker login
script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
@ -120,7 +120,7 @@ $:
services:
- docker
env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas-dev
stages:
- name: await the amd64
type: cnb:await
@ -145,6 +145,6 @@ $:
options:
name: ${CNB_REPO_NAME}
tags:
- nas-linux-amd64
- nas-linux-arm64
- nas-dev-linux-amd64
- nas-dev-linux-arm64
type: docker

View File

@ -28,6 +28,7 @@ RUN curl -sSO https://download.bt.cn/install/install_panel.sh \
&& echo '["memuA", "memuAsite", "memuAwp", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \
&& apt clean \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /www/reserve_space.pl \
&& chmod +x /bt.sh \
&& chmod +x /init_mysql.sh
@ -38,6 +39,10 @@ RUN echo btpanel | bt 6 \
&& echo "/btpanel" > /www/server/panel/data/admin_path.pl \
&& echo "root:btpaneldocker" | chpasswd
# 打包宝塔面板并清除www
RUN tar -zcf /www.tar.gz /www \
&& rm -rf /www
ENTRYPOINT ["/bin/sh","-c","/bt.sh"]
# 暴漏特定端口

View File

@ -28,6 +28,7 @@ RUN curl -sSO https://download.bt.cn/install/install_panel.sh \
&& echo '["memuA", "memuAsite", "memuAwp", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \
&& apt clean \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /www/reserve_space.pl \
&& chmod +x /bt.sh \
&& chmod +x /init_mysql.sh
@ -38,6 +39,10 @@ RUN echo btpanel | bt 6 \
&& echo "/btpanel" > /www/server/panel/data/admin_path.pl \
&& echo "root:btpaneldocker" | chpasswd
# 打包宝塔面板并清除www
RUN tar -zcf /www.tar.gz /www \
&& rm -rf /www
ENTRYPOINT ["/bin/sh","-c","/bt.sh"]
# 暴漏所有端口

View File

@ -8,6 +8,13 @@ Setup_Path=$Root_Path/server/mysql
Data_Path=$Root_Path/server/data
O_pl=$(cat /www/server/panel/data/o.pl)
restore_panel_data() {
if [ -f /www.tar.gz ]; then
tar xzf /www.tar.gz -C / --skip-old-files
rm -rf /www.tar.gz
fi
}
soft_start(){
# 扫描并启动所有服务
init_scripts=$(ls ${init_path})
@ -68,6 +75,7 @@ start_mysql(){
fi
}
restore_panel_data > /dev/null
is_empty_Data > /dev/null
init_mysql > /dev/null
start_mysql > /dev/null

8
bt.sh
View File

@ -8,6 +8,13 @@ Setup_Path=$Root_Path/server/mysql
Data_Path=$Root_Path/server/data
O_pl=$(cat /www/server/panel/data/o.pl)
restore_panel_data() {
if [ -f /www.tar.gz ]; then
tar xzf /www.tar.gz -C / --skip-old-files
rm -rf /www.tar.gz
fi
}
soft_start(){
# 扫描并启动所有服务
init_scripts=$(ls ${init_path})
@ -68,6 +75,7 @@ start_mysql(){
fi
}
restore_panel_data > /dev/null
is_empty_Data > /dev/null
init_mysql > /dev/null
start_mysql > /dev/null