Compare commits

...

3 Commits

3 changed files with 160 additions and 21 deletions

163
.cnb.yml
View File

@ -12,7 +12,7 @@ $:
- 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:latest-linux-amd64 IMAGE_TAG: btpanel/baota:9.0_lts_fresh-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"
@ -31,7 +31,7 @@ $:
- 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:latest-linux-arm64 IMAGE_TAG: btpanel/baota:9.0_lts_fresh-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"
@ -48,7 +48,7 @@ $:
- 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:latest IMAGE_TAG: btpanel/baota:9.0_lts_fresh
stages: stages:
- name: await the amd64 - name: await the amd64
type: cnb:await type: cnb:await
@ -83,7 +83,7 @@ $:
services: services:
- docker - docker
env: env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest-linux-amd64 IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:9.0_lts_fresh-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}:latest-linux-arm64 IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:9.0_lts_fresh-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}:latest IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:9.0_lts_fresh
stages: stages:
- name: await the amd64 - name: await the amd64
type: cnb:await type: cnb:await
@ -145,6 +145,151 @@ $:
options: options:
name: ${CNB_REPO_NAME} name: ${CNB_REPO_NAME}
tags: tags:
- latest-linux-amd64 - 9.0_lts_fresh-linux-amd64
- latest-linux-arm64 - 9.0_lts_fresh-linux-arm64
type: docker type: docker
"crontab: 30 1 1 * *":
- runner:
tags: cnb:arch:amd64
services:
- docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env:
IMAGE_TAG: btpanel/baota:9.0_lts_fresh-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:9.0_lts_fresh-linux-arm64
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-arm64
- services:
- docker
imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml
env:
IMAGE_TAG: btpanel/baota:9.0_lts_fresh
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}:9.0_lts_fresh-linux-amd64
stages:
- name: docker login
script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
- name: docker build
script: docker build -t ${IMAGE_TAG} .
- name: docker push
script: docker push ${IMAGE_TAG}
- name: resolve
type: cnb:resolve
options:
key: cnb-build-amd64
- runner:
tags: cnb:arch:arm64:v8
services:
- docker
env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:9.0_lts_fresh-linux-arm64
stages:
- name: docker login
script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
- name: docker build
script: docker build -t ${IMAGE_TAG} .
- name: docker push
script: docker push ${IMAGE_TAG}
- name: resolve
type: cnb:resolve
options:
key: cnb-build-arm64
- runner:
tags: cnb:arch:amd64
cpus: 2
services:
- docker
env:
IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:9.0_lts_fresh
stages:
- name: await the amd64
type: cnb:await
options:
key: cnb-build-amd64
- name: await the arm64
type: cnb:await
options:
key: cnb-build-arm64
- name: manifest
image: cnbcool/manifest
settings:
username: $CNB_TOKEN_USER_NAME
password: $CNB_TOKEN
target: ${IMAGE_TAG}
template: ${IMAGE_TAG}-OS-ARCH
platforms:
- linux/amd64
- linux/arm64
- name: remove tag
type: artifact:remove-tag
options:
name: ${CNB_REPO_NAME}
tags:
- 9.0_lts_fresh-linux-amd64
- 9.0_lts_fresh-linux-arm64
type: docker

View File

@ -5,13 +5,7 @@ RUN sed -i 's/deb.debian.org/mirrors.tencent.com/g' /etc/apt/sources.list.d/debi
&& apt update && apt upgrade -y \ && apt update && apt upgrade -y \
&& apt install -y \ && apt install -y \
locales \ locales \
wget iproute2 openssh-server libgd-dev cmake make gcc g++ autoconf \ wget openssh-server cmake make gcc g++ autoconf sudo curl dos2unix build-essential \
libsodium-dev libonig-dev libssh2-1-dev libc-ares-dev libaio-dev sudo curl dos2unix \
build-essential re2c cron bzip2 libzip-dev libc6-dev bison file rcconf flex vim m4 gawk less cpp binutils \
diffutils unzip tar libbz2-dev libncurses5 libncurses5-dev libtool libevent-dev libssl-dev libsasl2-dev \
libltdl-dev zlib1g-dev libglib2.0-0 libglib2.0-dev libkrb5-dev libpq-dev libpq5 gettext libcap-dev \
libc-client2007e-dev psmisc patch git e2fsprogs libxslt1-dev xz-utils libgd3 libwebp-dev libvpx-dev \
libfreetype6-dev libjpeg62-turbo libjpeg62-turbo-dev iptables libudev-dev libldap2-dev \
&& apt clean \ && apt clean \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
@ -22,11 +16,11 @@ COPY ["bt.sh", "init_mysql.sh", "/"]
RUN dos2unix /bt.sh && dos2unix /init_mysql.sh RUN dos2unix /bt.sh && dos2unix /init_mysql.sh
# 下载并安装宝塔面板及 lnmp 环境 # 下载并安装宝塔面板及 lnmp 环境
RUN curl -sSO https://download.bt.cn/install/install_panel.sh \ RUN curl -sSO https://download.bt.cn/install/install_lts.sh \
&& echo y | bash install_panel.sh -P 8888 --ssl-disable \ && echo y | bash install_lts.sh -P 8888 --ssl-disable \
&& btpip config set global.index-url https://mirrors.tencent.com/pypi/simple \ && btpip config set global.index-url https://mirrors.tencent.com/pypi/simple \
&& rm -rf /www/server/data/* \ && rm -rf /www/server/data/* \
&& echo "docker_bt_d12" > /www/server/panel/data/o.pl \ && echo "docker_bt_ltsd12" > /www/server/panel/data/o.pl \
&& echo '["memuA", "memuAsite", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \ && echo '["memuA", "memuAsite", "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/* \

4
bt.sh
View File

@ -11,7 +11,7 @@ O_pl=$(cat /www/server/panel/data/o.pl)
backup_database() { backup_database() {
if [ -d "${Data_Path}" ] && [ ! -z "$(ls -A ${Data_Path})" ]; then if [ -d "${Data_Path}" ] && [ ! -z "$(ls -A ${Data_Path})" ]; then
if [ ! -d "${Setup_Path}" ] || [ -z "$(ls -A ${Setup_Path})" ]; then if [ ! -d "${Setup_Path}" ] || [ -z "$(ls -A ${Setup_Path})" ]; then
timestamp=$(date +"%Y%m%d%H%M%S") timestamp=$(date +"%s")
tar czf /www/server/data_backup_$timestamp.tar.gz -C ${Data_Path} . tar czf /www/server/data_backup_$timestamp.tar.gz -C ${Data_Path} .
fi fi
fi fi
@ -56,7 +56,7 @@ soft_start(){
} }
init_mysql(){ init_mysql(){
if [ "${O_pl}" != "docker_btlamp_d12" ] && [ "${O_pl}" != "docker_btlnmp_d12" ];then if [ "${O_pl}" != "docker_btlamp_ltsd12" ] && [ "${O_pl}" != "docker_btlnmp_ltsd12" ];then
return return
fi fi
if [ -d "${Data_Path}" ]; then if [ -d "${Data_Path}" ]; then