From bcbbe79e1d7bb82f85f1730d2a6059e9013b2fd4 Mon Sep 17 00:00:00 2001 From: Hurlu Date: Sun, 29 Jan 2023 22:20:27 +0100 Subject: [PATCH] add better backup instructions --- adminscripts/backup_to_gdrive.sh | 4 ++- adminscripts/first_setup.sh | 44 ++++++++++++++++++++++++++++++++ gitea/backup.sh | 2 +- notes/backup.sh | 2 +- recipes/backup.sh | 2 +- 5 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 adminscripts/first_setup.sh diff --git a/adminscripts/backup_to_gdrive.sh b/adminscripts/backup_to_gdrive.sh index 84a610b..3f4c6ea 100755 --- a/adminscripts/backup_to_gdrive.sh +++ b/adminscripts/backup_to_gdrive.sh @@ -1,8 +1,10 @@ +#!/bin/bash + SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) GLOB_DIR=$SCRIPT_DIR/.. -SERVICES=( gitea notes recipes ) +SERVICES=( notes recipes gitea ) for service in "${SERVICES[@]}" do diff --git a/adminscripts/first_setup.sh b/adminscripts/first_setup.sh new file mode 100644 index 0000000..748dee9 --- /dev/null +++ b/adminscripts/first_setup.sh @@ -0,0 +1,44 @@ +#!bin/bash +#let me inside of [gitrepo]/adminscripts plz :) +SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) +GLOB_DIR=$SCRIPT_DIR/.. + +if [ $(id -u) -ne 0 ] + then echo "Run me as root! trust me :]" + exit +fi + +apt update; +apt upgrade; +apt install -y docker docker-compose python3 curl nmap emacs-nox unzip zip htop postfix; +curl https://rclone.org/install.sh | sudo bash +sudo mkdir -p /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +apt update; +sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin; +mkdir ~/Downloads; +git remote add myserv git.hugowillaume.com/Hurlu/ServerContainers; +# setup my rclone remote named "Gdrive" with advanced option root folder 1Vtw9u> +rclone config +# reinstall my backup data +cd ~/Downloads; +rclone copy Gdrive: .; +cp standardfile.db $GLOB_DIR/notes/.; +cp mealie.zip $GLOB_DIR/recipes/.; +cp gitea_backup.zip $GLOB_DIR/gitea/.; +rm ~/Downloads/* +cd $GLOB_DIR/recipes +unzip -o mealie.zip +cd $GLOB_DIR/gitea + + +# restore gitea: https://docs.gitea.io/en-us/backup-and-restore/#restore-command-restore + +# update crontab to call backup_to_gdrive every 8 hours: (crontab -e, no need for sudo) +#* */8 * * * /home/hurlu/ServerContainers/adminscripts/backup_to_gdrive.sh +# manually go to my sample files in each container folder to write actual secrets +# run server containers +# profit :] + diff --git a/gitea/backup.sh b/gitea/backup.sh index f279d4d..d1518d0 100755 --- a/gitea/backup.sh +++ b/gitea/backup.sh @@ -3,7 +3,7 @@ SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) docker exec -u git -w "/data/git" $(docker ps -qf "name=^/gitea$") bash -c "/app/gitea/gitea dump -c /data/gitea/conf/app.ini"; cd $SCRIPT_DIR; mv gitea_data/git/gitea-dump* gitea_backup.zip; -rclone copy gitea_backup.zip Gdrive:backups/; +rclone copy gitea_backup.zip Gdrive:/; rm -f gitea_backup.zip; diff --git a/notes/backup.sh b/notes/backup.sh index 2071189..8a99a8b 100755 --- a/notes/backup.sh +++ b/notes/backup.sh @@ -1,6 +1,6 @@ SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) cd $SCRIPT_DIR; -rclone copy standardfile.db Gdrive:backups/; +rclone copy standardfile.db Gdrive:/; diff --git a/recipes/backup.sh b/recipes/backup.sh index 10051a4..aa569dc 100755 --- a/recipes/backup.sh +++ b/recipes/backup.sh @@ -2,7 +2,7 @@ SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) cd $SCRIPT_DIR; zip -r -9 mealie.zip mealie; -rclone copy mealie.zip Gdrive:backups/; +rclone copy mealie.zip Gdrive:/; rm mealie.zip