aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-11-23 20:40:34 +0800
committercrupest <crupest@outlook.com>2022-11-23 20:40:34 +0800
commitea89f67879ac335d98b3bf31c06cb78c53b581a0 (patch)
treedd4438376c8c96df4355a96bd3860795c2db5566 /docker
parent324bcb621ad29f22041eed970ae4eee965d61592 (diff)
downloadcrupest-ea89f67879ac335d98b3bf31c06cb78c53b581a0.tar.gz
crupest-ea89f67879ac335d98b3bf31c06cb78c53b581a0.tar.bz2
crupest-ea89f67879ac335d98b3bf31c06cb78c53b581a0.zip
Use coscmd instead of coscli.
Diffstat (limited to 'docker')
-rw-r--r--docker/auto-backup/Dockerfile16
-rwxr-xr-xdocker/auto-backup/daemon.bash11
-rwxr-xr-xdocker/auto-backup/install-coscli.bash17
3 files changed, 13 insertions, 31 deletions
diff --git a/docker/auto-backup/Dockerfile b/docker/auto-backup/Dockerfile
index be3a6cf..7bf4b2d 100644
--- a/docker/auto-backup/Dockerfile
+++ b/docker/auto-backup/Dockerfile
@@ -1,10 +1,5 @@
-FROM alpine:latest AS coscli-downloader
-RUN apk add --no-cache bash curl jq
-COPY install-coscli.bash /install-coscli.bash
-RUN /install-coscli.bash
-
FROM alpine:latest
-RUN apk add --no-cache coreutils bash tar xz
+RUN apk add --no-cache coreutils bash tar xz python3
ARG CRUPEST_AUTO_BACKUP_INIT_DELAY=0
ARG CRUPEST_AUTO_BACKUP_INTERVAL=1d
ARG CRUPEST_AUTO_BACKUP_COS_SECRET_ID
@@ -17,8 +12,13 @@ ENV CRUPEST_AUTO_BACKUP_COS_SECRET_ID=${CRUPEST_AUTO_BACKUP_COS_SECRET_ID}
ENV CRUPEST_AUTO_BACKUP_COS_SECRET_KEY=${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY}
ENV CRUPEST_AUTO_BACKUP_COS_REGION=${CRUPEST_AUTO_BACKUP_COS_REGION}
ENV CRUPEST_AUTO_BACKUP_BUCKET_NAME=${CRUPEST_AUTO_BACKUP_BUCKET_NAME}
-COPY --from=coscli-downloader /coscli /coscli
+# install pip and coscmd
+RUN python3 -m ensurepip && \
+ rm -r /usr/lib/python*/ensurepip && \
+ pip3 install --upgrade pip setuptools && \
+ pip3 install coscmd && \
+ rm -r /root/.cache
COPY daemon.bash /daemon.bash
-VOLUME [ "/data", "/root/.cos.yaml" ]
+VOLUME [ "/data" ]
STOPSIGNAL SIGINT
ENTRYPOINT [ "/daemon.bash" ]
diff --git a/docker/auto-backup/daemon.bash b/docker/auto-backup/daemon.bash
index 6c6dc19..f425d10 100755
--- a/docker/auto-backup/daemon.bash
+++ b/docker/auto-backup/daemon.bash
@@ -8,15 +8,14 @@ if [[ $EUID -ne 0 ]]; then
exit 1
fi
-/coscli --version
-# Check xz and tar
+# Check xz, tar and coscmd
xz --version
tar --version
+coscmd --version
# do not echo next command
-/coscli config set --secret_id "${CRUPEST_AUTO_BACKUP_COS_SECRET_ID}" --secret_key "${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY}"
-/coscli config add --alias "crupest-backup" --bucket "${CRUPEST_AUTO_BACKUP_BUCKET_NAME}" --region "${CRUPEST_AUTO_BACKUP_COS_REGION}"
+coscmd config -a "${CRUPEST_AUTO_BACKUP_COS_SECRET_ID}" -s "${CRUPEST_AUTO_BACKUP_COS_SECRET_KEY}" -b "${CRUPEST_AUTO_BACKUP_BUCKET_NAME}" -r "${CRUPEST_AUTO_BACKUP_COS_REGION}"
function backup {
# Output "Begin backup..." in yellow and restore default
@@ -33,13 +32,13 @@ function backup {
# Output /tmp/data.tar.xz size
du -h /tmp/data.tar.xz | cut -f1 | xargs echo "Size of data.tar.xz:"
- destination="cos://crupest-backup/$current_time.tar.xz"
+ destination="$current_time.tar.xz"
echo "Use coscli to upload data to $destination ..."
echo "Bucket name: ${CRUPEST_AUTO_BACKUP_BUCKET_NAME}"
echo "Bucket region: ${CRUPEST_AUTO_BACKUP_COS_REGION}"
# upload to remote
- /coscli cp /tmp/data.tar.xz "$destination"
+ coscmd upload /tmp/data.tar.xz "$destination"
echo "Remove tmp file..."
# remove tmp
diff --git a/docker/auto-backup/install-coscli.bash b/docker/auto-backup/install-coscli.bash
deleted file mode 100755
index d3a45b0..0000000
--- a/docker/auto-backup/install-coscli.bash
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-# Check I'm root.
-if [[ $EUID -ne 0 ]]; then
- echo "This script must be run as root" 1>&2
- exit 1
-fi
-
-download_url=$(curl -s https://api.github.com/repos/tencentyun/coscli/releases/latest | jq -r ".assets[] | select(.name | test(\"coscli-linux\")) | .browser_download_url")
-
-curl -L -o /coscli "$download_url"
-
-chmod +x /coscli
-
-/coscli --version