From 5c78e561ee97f2b4b644a7e34c8a0025400ced20 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Fri, 5 Jul 2024 18:15:50 +0300 Subject: [PATCH] change entrypoint script to avoid wiping uploads folder everytime --- _deploy/deoloy.azure.production.yml | 11 ++++++----- _deploy/entrypoint.sh | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/_deploy/deoloy.azure.production.yml b/_deploy/deoloy.azure.production.yml index 55a11d4..c91c26e 100644 --- a/_deploy/deoloy.azure.production.yml +++ b/_deploy/deoloy.azure.production.yml @@ -9,6 +9,7 @@ services: # - "3000:3000" volumes: - /mnt/docker_volumes/pw/app/public/content/uploads/:/app/public/content/uploads + - /mnt/docker_volumes/pw/app/logs:/app/logs environment: - NODE_ENV=production - TZ=Europe/Sofia @@ -19,7 +20,7 @@ services: - GIT_USERNAME=deploy - GIT_PASSWORD=L3Kr2R438u4F7 - ADMIN_PASSWORD=changeme - command: sh -c " cd /app && npm install && npm run prod; tail -f /dev/null" + command: sh -c " cd /app && npm install && npx next build && npm run prod; tail -f /dev/null" #command: sh -c " cd /app && tail -f /dev/null" tty: true stdin_open: true @@ -56,15 +57,15 @@ services: networks: - infrastructure_default command: | - apk update && \ + "apk update && \ apk add --no-cache mariadb-client mariadb-connector-c && \ echo '0 2 * * * mysqldump -h $$MYSQL_HOST -P 3306 -u$$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE > /backup/$$(date +\\%Y-\\%m-\\%d-\\%H\\%M\\%S)-$$MYSQL_DATABASE.sql' > /etc/crontabs/root && \ - echo '0 7 * * * rclone sync /backup nextcloud:/mwitnessing' >> /etc/crontabs/root && \ - crond -f -d 8 + crond -f -d 8" # wget -q https://github.com/prasmussen/gdrive/releases/download/2.1.0/gdrive-linux-x64 -O /usr/bin/gdrive && \ # chmod +x /usr/bin/gdrive && \ # gdrive about --service-account /root/.gdrive_service_account.json && \ - # echo '0 * * * * /usr/bin/mysqldump -h $$MYSQL_HOST -u$$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE | gzip > /backup/$$(date +\\%Y-\\%m-\\%d-\\%H\\%M\\%S)-$$MYSQL_DATABASE.sql.gz && gdrive upload --parent $$GOOGLE_DRIVE_FOLDER_ID --service-account /root/.gdrive_service_account.json /backup/$$(date +\\%Y-\\%m-\\%d-\\%H\\%M\\%S)-$$MYSQL_DATABASE.sql.gz' > /etc/crontabs/root && crond -f -d 8" + # echo '0 * * * * /usr/bin/mysqldump -h $$MYSQL_HOST -u$$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE | gzip > /backup/$$(date +\\%Y-\\%m-\\%d-\\%H\\%M\\%S)-$$MYSQL_DATABASE.sql.gz && gdrive upload --parent $$GOOGLE_DRIVE_FOLDER_ID --service-account /root/.gdrive_service_account.json /backup/$$(date +\\%Y-\\%m-\\%d-\\%H\\%M\\%S)-$$MYSQL_DATABASE.sql.gz' > /etc/crontabs/root && crond -f -d 8 \ + # echo '0 7 * * * rclone sync /backup nextcloud:/mwitnessing' >> /etc/crontabs/root && \" networks: infrastructure_default: external: true diff --git a/_deploy/entrypoint.sh b/_deploy/entrypoint.sh index db16b09..fa78e35 100644 --- a/_deploy/entrypoint.sh +++ b/_deploy/entrypoint.sh @@ -12,8 +12,9 @@ if [ "$UPDATE_CODE_FROM_GIT" = "true" ]; then # Clone the repository git clone -b ${GIT_BRANCH:-main} --depth 1 https://$GIT_USERNAME:${GIT_PASSWORD//@/%40}@git.d-popov.com/popov/mwitnessing.git /tmp/clone || exit 1 - # Synchronize all files except package.json and package-lock.json to /app - rsync -av --delete --exclude 'package.json' --exclude 'package-lock.json' /tmp/clone/ /app/ || echo "Rsync failed: Issue synchronizing files" + # Synchronize all files except package.json and package-lock.json to /app. alo exclude '/app/public/content/uploads' to avoid deleting uploaded files + rsync -av --delete --exclude 'package.json' --exclude 'package-lock.json' --exclude '/app/public/content/uploads' + /tmp/clone/ /app/ || echo "Rsync failed: Issue synchronizing files" # Determine if package.json or package-lock.json has changed PACKAGE_CHANGE=0