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: build:
dockerfile: .ide/Dockerfile dockerfile: .ide/Dockerfile
push: push:
- runner: # - runner:
tags: cnb:arch:amd64 # tags: cnb:arch:amd64
services: # services:
- docker # - docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml # imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env: # env:
IMAGE_TAG: btpanel/baota:nas-linux-amd64 # IMAGE_TAG: btpanel/baota:nas-dev-linux-amd64
stages: # stages:
- name: docker login # - name: docker login
script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" # script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD"
- name: docker build # - name: docker build
script: docker build -t ${IMAGE_TAG} . # script: docker build -t ${IMAGE_TAG} .
- name: docker push # - name: docker push
script: docker push ${IMAGE_TAG} # script: docker push ${IMAGE_TAG}
- name: resolve # - name: resolve
type: cnb:resolve # type: cnb:resolve
options: # options:
key: build-amd64 # key: build-amd64
- runner: # - runner:
tags: cnb:arch:arm64:v8 # tags: cnb:arch:arm64:v8
services: # services:
- docker # - docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml # imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env: # env:
IMAGE_TAG: btpanel/baota:nas-linux-arm64 # IMAGE_TAG: btpanel/baota:nas-dev-linux-arm64
stages: # stages:
- name: docker login # - name: docker login
script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" # script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD"
- name: docker build # - name: docker build
script: docker build -t ${IMAGE_TAG} -f ./arm64/Dockerfile ./arm64 # script: docker build -t ${IMAGE_TAG} -f ./arm64/Dockerfile ./arm64
- name: docker push # - name: docker push
script: docker push ${IMAGE_TAG} # script: docker push ${IMAGE_TAG}
- name: resolve # - name: resolve
type: cnb:resolve # type: cnb:resolve
options: # options:
key: build-arm64 # key: build-arm64
- services: # - services:
- docker # - docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml # imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env: # env:
IMAGE_TAG: btpanel/baota:nas # IMAGE_TAG: btpanel/baota:nas-dev
stages: # stages:
- name: await the amd64 # - name: await the amd64
type: cnb:await # type: cnb:await
options: # options:
key: build-amd64 # key: build-amd64
- name: await the arm64 # - name: await the arm64
type: cnb:await # type: cnb:await
options: # options:
key: build-arm64 # key: build-arm64
- name: manifest # - name: manifest
image: cnbcool/manifest # image: cnbcool/manifest
settings: # settings:
username: $DOCKER_USERNAME # username: $DOCKER_USERNAME
password: $DOCKER_PASSWD # password: $DOCKER_PASSWD
target: ${IMAGE_TAG} # target: ${IMAGE_TAG}
template: ${IMAGE_TAG}-OS-ARCH # template: ${IMAGE_TAG}-OS-ARCH
platforms: # platforms:
- linux/amd64 # - linux/amd64
- linux/arm64 # - linux/arm64
- name: clear # - name: clear
image: lumir/remove-dockerhub-tag # image: lumir/remove-dockerhub-tag
args: # args:
- --user # - --user
- $DOCKER_USERNAME # - $DOCKER_USERNAME
- --password # - --password
- $DOCKER_PASSWD # - $DOCKER_PASSWD
- ${IMAGE_TAG}-linux-amd64 # - ${IMAGE_TAG}-linux-amd64
- ${IMAGE_TAG}-linux-arm64 # - ${IMAGE_TAG}-linux-arm64
- runner: - runner:
tags: cnb:arch:amd64 tags: cnb:arch:amd64
services: services:
- docker - docker
env: 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: stages:
- name: docker login - name: docker login
script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY} script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
@ -101,7 +101,7 @@ $:
services: services:
- docker - docker
env: 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: stages:
- name: docker login - name: docker login
script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY} script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
@ -120,7 +120,7 @@ $:
services: services:
- docker - docker
env: env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:nas-dev
stages: stages:
- name: await the amd64 - name: await the amd64
type: cnb:await type: cnb:await
@ -145,6 +145,6 @@ $:
options: options:
name: ${CNB_REPO_NAME} name: ${CNB_REPO_NAME}
tags: tags:
- nas-linux-amd64 - nas-dev-linux-amd64
- nas-linux-arm64 - nas-dev-linux-arm64
type: docker 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 \ && 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 \ && apt clean \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& rm -rf /www/reserve_space.pl \
&& chmod +x /bt.sh \ && chmod +x /bt.sh \
&& chmod +x /init_mysql.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 "/btpanel" > /www/server/panel/data/admin_path.pl \
&& echo "root:btpaneldocker" | chpasswd && echo "root:btpaneldocker" | chpasswd
# 打包宝塔面板并清除www
RUN tar -zcf /www.tar.gz /www \
&& rm -rf /www
ENTRYPOINT ["/bin/sh","-c","/bt.sh"] 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 \ && 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 \ && apt clean \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
&& rm -rf /www/reserve_space.pl \
&& chmod +x /bt.sh \ && chmod +x /bt.sh \
&& chmod +x /init_mysql.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 "/btpanel" > /www/server/panel/data/admin_path.pl \
&& echo "root:btpaneldocker" | chpasswd && echo "root:btpaneldocker" | chpasswd
# 打包宝塔面板并清除www
RUN tar -zcf /www.tar.gz /www \
&& rm -rf /www
ENTRYPOINT ["/bin/sh","-c","/bt.sh"] ENTRYPOINT ["/bin/sh","-c","/bt.sh"]
# 暴漏所有端口 # 暴漏所有端口

View File

@ -8,6 +8,13 @@ Setup_Path=$Root_Path/server/mysql
Data_Path=$Root_Path/server/data Data_Path=$Root_Path/server/data
O_pl=$(cat /www/server/panel/data/o.pl) 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(){ soft_start(){
# 扫描并启动所有服务 # 扫描并启动所有服务
init_scripts=$(ls ${init_path}) init_scripts=$(ls ${init_path})
@ -68,6 +75,7 @@ start_mysql(){
fi fi
} }
restore_panel_data > /dev/null
is_empty_Data > /dev/null is_empty_Data > /dev/null
init_mysql > /dev/null init_mysql > /dev/null
start_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 Data_Path=$Root_Path/server/data
O_pl=$(cat /www/server/panel/data/o.pl) 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(){ soft_start(){
# 扫描并启动所有服务 # 扫描并启动所有服务
init_scripts=$(ls ${init_path}) init_scripts=$(ls ${init_path})
@ -68,6 +75,7 @@ start_mysql(){
fi fi
} }
restore_panel_data > /dev/null
is_empty_Data > /dev/null is_empty_Data > /dev/null
init_mysql > /dev/null init_mysql > /dev/null
start_mysql > /dev/null start_mysql > /dev/null