Skip to content

Commit 961a8dd

Browse files
authored
Merge pull request #290 from supportpal/5.x
[Automated] Merge 5.x into master
2 parents 0339e5c + ed3f582 commit 961a8dd

File tree

5 files changed

+24
-26
lines changed

5 files changed

+24
-26
lines changed

.github/workflows/docker-compose-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
steps:
2020
- name: Checkout code
21-
uses: actions/checkout@v5
21+
uses: actions/checkout@v6
2222

2323
- name: Shellcheck
2424
run: |

.github/workflows/docker-monolithic-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717

1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@v5
20+
uses: actions/checkout@v6
2121

2222
- name: Shellcheck
2323
run: |

.github/workflows/linux-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- debian:13
2828

2929
steps:
30-
- uses: actions/checkout@v5
30+
- uses: actions/checkout@v6
3131
- name: Shellcheck
3232
run: make shellcheck
3333
- name: Check distribution

.github/workflows/sync-master.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: git checkout
20-
uses: actions/checkout@v5
20+
uses: actions/checkout@v6
2121

2222
- name: create pull request
2323
run: gh pr create -t "[Automated] Merge ${{ github.ref_name }} into master" -b "Automated Pull Request" -r bytestream -a bytestream --head ${{ github.ref_name }} --base master

templates/docker-monolithic/backup.sh

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ execute_command() {
4242
BACKUP_DIR="backup"
4343
ABS_BACKUP_PATH="$(pwd)/${BACKUP_DIR}"
4444
TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S)
45-
TEMP_BACKUP_DIR="/tmp/tmp-backups/${TIMESTAMP}"
45+
TMP_DIR="${ABS_BACKUP_PATH}/tmp-${TIMESTAMP}"
4646
FILESYSTEM_BACKUP_NAME="filesystem-${TIMESTAMP}.tar.gz"
4747
APP_BACKUP_NAME="app-${TIMESTAMP}.tar.gz"
4848

@@ -72,45 +72,43 @@ if ! $online; then
7272
"
7373
fi
7474

75+
# Ensure backup directory exists before using TMP_DIR
76+
mkdir -p "${ABS_BACKUP_PATH}/"
77+
7578
echo 'Backing up filesystem...'
76-
docker compose exec supportpal bash -c "mkdir -p ${TEMP_BACKUP_DIR}/filesystem-${TIMESTAMP}/config/production" # create the farthest directory
77-
docker compose exec supportpal bash -c "cp -r /var/www/supportpal/config/production ${TEMP_BACKUP_DIR}/filesystem-${TIMESTAMP}/config"
78-
docker compose exec supportpal bash -c "cp -r /var/www/supportpal/storage ${TEMP_BACKUP_DIR}/filesystem-${TIMESTAMP}"
79-
docker compose exec supportpal bash -c "cp -r /var/www/supportpal/addons ${TEMP_BACKUP_DIR}/filesystem-${TIMESTAMP}"
80-
docker compose exec supportpal bash -c "cd ${TEMP_BACKUP_DIR} && tar -czf ${FILESYSTEM_BACKUP_NAME} filesystem-${TIMESTAMP}"
79+
mkdir -p "${TMP_DIR}/filesystem-${TIMESTAMP}/config"
80+
docker cp supportpal:/var/www/supportpal/config/production "${TMP_DIR}/filesystem-${TIMESTAMP}/config/" || { echo "error: failed to copy config/production from container"; exit 1; }
81+
docker cp supportpal:/var/www/supportpal/storage "${TMP_DIR}/filesystem-${TIMESTAMP}/" || { echo "error: failed to copy storage from container"; exit 1; }
82+
docker cp supportpal:/var/www/supportpal/addons "${TMP_DIR}/filesystem-${TIMESTAMP}/" || { echo "error: failed to copy addons from container"; exit 1; }
83+
(cd "${TMP_DIR}" && tar -czf "${FILESYSTEM_BACKUP_NAME}" "filesystem-${TIMESTAMP}" && rm -rf "filesystem-${TIMESTAMP}")
8184

8285
echo 'Backing up database...'
8386
DB_BACKUP_PATH=$(docker compose exec supportpal bash -c "cd ${COMMAND_PATH} && php artisan db:backup --store-local | grep -oE '/var/www/supportpal/.*/database-.*'")
8487
DB_FILE_NAME=$(echo "${DB_BACKUP_PATH}" | xargs basename)
85-
docker compose exec supportpal bash -c "mv ${DB_BACKUP_PATH} ${TEMP_BACKUP_DIR}/"
88+
docker cp "supportpal:${DB_BACKUP_PATH}" "${TMP_DIR}/" || { echo "error: failed to copy database backup from container"; exit 1; }
89+
docker compose exec supportpal bash -c "rm ${DB_BACKUP_PATH}"
8690

8791
echo 'Backing up volume data...'
88-
docker compose exec -u root supportpal bash -c "mkdir -p ${TEMP_BACKUP_DIR}/volumes-monolithic/cache && cp -r /redis-data/ ${TEMP_BACKUP_DIR}/volumes-monolithic/cache"
89-
docker compose exec -u root supportpal bash -c "mkdir -p ${TEMP_BACKUP_DIR}/volumes-monolithic/caddy && cp -r /caddy/ ${TEMP_BACKUP_DIR}/volumes-monolithic/caddy"
92+
mkdir -p "${TMP_DIR}/volumes-monolithic/cache"
93+
mkdir -p "${TMP_DIR}/volumes-monolithic/caddy"
94+
docker cp supportpal:/redis-data "${TMP_DIR}/volumes-monolithic/cache/" || { echo "error: failed to copy redis-data from container"; exit 1; }
95+
docker cp supportpal:/caddy "${TMP_DIR}/volumes-monolithic/caddy/" || { echo "error: failed to copy caddy from container"; exit 1; }
9096
if docker compose exec -u root supportpal bash -c "test -d /meilisearch"; then
91-
docker compose exec -u root supportpal bash -c "mkdir -p ${TEMP_BACKUP_DIR}/volumes-monolithic/meilisearch && cp -r /meilisearch/ ${TEMP_BACKUP_DIR}/volumes-monolithic/meilisearch"
97+
mkdir -p "${TMP_DIR}/volumes-monolithic/meilisearch"
98+
docker cp supportpal:/meilisearch "${TMP_DIR}/volumes-monolithic/meilisearch/" || { echo "error: failed to copy meilisearch from container"; exit 1; }
9299
fi
93100
if docker compose exec -u root supportpal bash -c "test -d /qdrant"; then
94-
docker compose exec -u root supportpal bash -c "mkdir -p ${TEMP_BACKUP_DIR}/volumes-monolithic/qdrant && cp -r /qdrant/ ${TEMP_BACKUP_DIR}/volumes-monolithic/qdrant"
101+
mkdir -p "${TMP_DIR}/volumes-monolithic/qdrant"
102+
docker cp supportpal:/qdrant "${TMP_DIR}/volumes-monolithic/qdrant/" || { echo "error: failed to copy qdrant from container"; exit 1; }
95103
fi
96104

97-
TMP_DIR="/tmp/backup_$(date +%s)_$RANDOM"
98-
mkdir -p "$TMP_DIR"
99-
100105
echo "Backing up current working directory: $(pwd)..."
101106
tar -czf "$TMP_DIR/docker-files.tar.gz" --exclude="./${BACKUP_DIR}" .
102107

103-
# Copy files to host.
104-
execute_command "docker cp ""supportpal:${TEMP_BACKUP_DIR}/${FILESYSTEM_BACKUP_NAME}"" ""${TMP_DIR}"""
105-
execute_command "docker cp ""supportpal:${TEMP_BACKUP_DIR}/${DB_FILE_NAME}"" ""${TMP_DIR}"""
106-
execute_command "docker cp ""supportpal:${TEMP_BACKUP_DIR}/volumes-monolithic"" ""${TMP_DIR}"""
107-
108108
# Combine backup files.
109-
mkdir -p "${ABS_BACKUP_PATH}/"
110109
(cd "$TMP_DIR" && tar -czf "${ABS_BACKUP_PATH}/${APP_BACKUP_NAME}" "${FILESYSTEM_BACKUP_NAME}" "${DB_FILE_NAME}" volumes-monolithic/ docker-files.tar.gz)
111110

112-
# Cleanup.
113-
docker compose exec -u root supportpal bash -c "rm -rf ${TEMP_BACKUP_DIR}/"
111+
# Cleanup (now only needs to clean the host TMP_DIR, container cleanup is minimal)
114112
rm -rf "$TMP_DIR"
115113

116114
echo "Backup created successfully at ${ABS_BACKUP_PATH}/${APP_BACKUP_NAME}"

0 commit comments

Comments
 (0)