From 0acdced26028984992badd5280d5211c8525e6b0 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 3 May 2024 18:03:57 +0200 Subject: [PATCH 1/6] fix(nextcloud): #35 Convert from docker to k3s --- scripts/nextcloud/backup-database.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/nextcloud/backup-database.sh b/scripts/nextcloud/backup-database.sh index 6105468..36f0349 100755 --- a/scripts/nextcloud/backup-database.sh +++ b/scripts/nextcloud/backup-database.sh @@ -39,12 +39,14 @@ else destination="${1}" fi +namespace="ix-nextcloud-2" + # Filename for database backup database_backupfile="nextcloud-sqlbkp_$(date +'%Y%m%d').bak" # Retrieve container names -base_container="$( docker ps --format '{{.Names}}' | grep -E 'nextcloud-2_nextcloud-2-[0-9a-z]{10}-[0-9a-z]{5}' )" -database_container="$( docker ps --format '{{.Names}}' | grep postgres_nextcloud-2-cnpg-main-1 )" +base_container="$( k3s kubectl get pods --namespace "${namespace}" | cut -f1 -d' ' | grep -E 'nextcloud-2-[0-9a-z]{10}-[0-9a-z]{5}' )" +database_container="$( k3s kubectl get pods --namespace "${namespace}" | cut -f1 -d' ' | grep 'cnpg-main' )" if ! [[ -n "${base_container}" && -n "${database_container}" ]]; then >&2 printf "Error: Not all containers could be found.\n" @@ -55,21 +57,21 @@ fi set -e # Turn on maintenance mode -docker exec "${base_container}" php occ maintenance:mode --on +k3s kubectl exec "${base_container}" --namespace "${namespace}" -- php occ maintenance:mode --on # Database backup echo 'Backing up database' host_database_backupfile="${destination}/${database_backupfile}" -docker exec --env-file "${env_file:=.env}" "${database_container}" pg_dump 'nextcloud' -cwv -h 'localhost' -U 'nextcloud' > "${host_database_backupfile}" +k3s kubectl exec "${database_container}" --namespace "${namespace}" -- env $(cat "${env_file:=.env}" | xargs) pg_dump 'nextcloud' -cwv -h 'localhost' -U 'nextcloud' > "${host_database_backupfile}" # Files backup for file in 'config' 'themes'; do printf "Copying %s\n" "${file}" - docker cp -a "${base_container}":"/var/www/html/${file}" "${destination}" + k3s kubectl cp "${base_container}":"/var/www/html/${file}" "${destination}" done # Turn off maintenance mode -docker exec "${base_container}" php occ maintenance:mode --off +k3s kubectl exec "${base_container}" --namespace "${namespace}" -- php occ maintenance:mode --off # Backup cleanup # Only keep 30 days of backups From f5982bb7df21765c82d6e0208f1a0aec3b9b91b4 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 3 May 2024 18:16:09 +0200 Subject: [PATCH 2/6] chore: Add default rclone config --- scripts/rclone.conf.example | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 scripts/rclone.conf.example diff --git a/scripts/rclone.conf.example b/scripts/rclone.conf.example new file mode 100644 index 0000000..682ff45 --- /dev/null +++ b/scripts/rclone.conf.example @@ -0,0 +1,10 @@ +[overlay] +type = chunker +remote = Nicole: + +[Nicole] +type = ftp +host = 192.168.0.20 +user = USERNAME +pass = CHANGEME + From 87f5e39040e91ffccdff8fd073d06efe1b79399a Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 3 May 2024 18:33:46 +0200 Subject: [PATCH 3/6] fix(nextcloud): #35 Include namespace in cp --- scripts/nextcloud/backup-database.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/nextcloud/backup-database.sh b/scripts/nextcloud/backup-database.sh index 36f0349..da3e4a9 100755 --- a/scripts/nextcloud/backup-database.sh +++ b/scripts/nextcloud/backup-database.sh @@ -67,7 +67,7 @@ k3s kubectl exec "${database_container}" --namespace "${namespace}" -- env $(cat # Files backup for file in 'config' 'themes'; do printf "Copying %s\n" "${file}" - k3s kubectl cp "${base_container}":"/var/www/html/${file}" "${destination}" + k3s kubectl --namespace "${namespace}" cp "${base_container}":"/var/www/html/${file}" "${destination}" done # Turn off maintenance mode From 3081cdea2ee4ec6cb72e7ec8eae98c1136ca2fee Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 3 May 2024 18:34:11 +0200 Subject: [PATCH 4/6] fix(vaultwarden): #35 Convert from docker to k3s --- scripts/vaultwarden/backup-database.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/vaultwarden/backup-database.sh b/scripts/vaultwarden/backup-database.sh index 0b0c640..43069b4 100755 --- a/scripts/vaultwarden/backup-database.sh +++ b/scripts/vaultwarden/backup-database.sh @@ -41,9 +41,11 @@ else destination="${1}" fi +namespace="ix-vaultwarden-2" + # Retrieve container names -base_container="$( docker ps --format '{{.Names}}' | grep -E 'vaultwarden-2_vaultwarden-2-[0-9a-z]{10}-[0-9a-z]{5}' )" -database_container="$( docker ps --format '{{.Names}}' | grep postgres_vaultwarden-2-cnpg-main-1 )" +base_container="$( k3s kubectl get pods --namespace "${namespace}" | cut -f1 -d' ' | grep -E 'vaultwarden-2-[0-9a-z]{10}-[0-9a-z]{5}' )" +database_container="$( k3s kubectl get pods --namespace "${namespace}" | cut -f1 -d' ' | grep 'vaultwarden-2-cnpg-main-1' )" if ! [[ -n "${base_container}" && -n "${database_container}" ]]; then >&2 printf "Error: Not all containers could be found.\n" @@ -59,14 +61,14 @@ set -e database_backupfile="vaultwarden-sqlbkp_$(date +'%Y%m%d').bak" host_database_backupfile="${destination}/${database_backupfile}" -# Create backup file in docker container +# Create backup file in Kubernetes pod echo 'Backing up database' -docker exec --env-file "${env_file:=.env}" "${database_container}" pg_dump 'vaultwarden' -cwv -h 'localhost' -U 'vaultwarden' > "${host_database_backupfile}" +k3s kubectl exec "${database_container}" --namespace "${namespace}" -- env $(cat "${env_file:=.env}" | xargs) pg_dump 'vaultwarden' -cwv -h 'localhost' -U 'vaultwarden' > "${host_database_backupfile}" # Files backup for file in 'attachments' 'sends' 'rsa_key.pem' 'rsa_key.pub.pem'; do # 'config.json' printf 'Copying %s\n' "${file}" - docker cp -a "${base_container}":"/data/${file}" "${destination}" + k3s kubectl --namespace "${namespace}" cp "${base_container}":"/data/${file}" "${destination}" done # Backup cleanup From 6ffb34a96b8835d21c51a1d728e15e2a16c9933c Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 3 May 2024 18:36:09 +0200 Subject: [PATCH 5/6] chore: Add default rclone config to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1d26785..ed5ec8f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *_pass.txt *.env +rclone.conf From ce746ad72be2c10c0049df3586f821e5dae09947 Mon Sep 17 00:00:00 2001 From: Tibo De Peuter Date: Fri, 3 May 2024 18:44:10 +0200 Subject: [PATCH 6/6] fix(gitea): #35 Convert from docker to k3s --- scripts/gitea/backup-database.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/gitea/backup-database.sh b/scripts/gitea/backup-database.sh index 08cd4c4..62bf904 100755 --- a/scripts/gitea/backup-database.sh +++ b/scripts/gitea/backup-database.sh @@ -43,9 +43,11 @@ else destination="${1}" fi +namespace="ix-gitea-2" + # Retrieve container names -base_container="$( docker ps --format '{{.Names}}' | grep -E 'gitea_gitea-[0-9a-z]{10}-[0-9a-z]{5}' )" -database_container="$( docker ps --format '{{.Names}}' | grep 'postgres_gitea-cnpg-main-1' )" +base_container="$( k3s kubectl get pods --namespace "${namespace}" | cut -f1 -d' ' | grep -E 'gitea-2-[0-9a-z]{10}-[0-9a-z]{5}' )" +database_container="$( k3s kubectl get pods --namespace "${namespace}" | cut -f1 -d' ' | grep 'gitea-2-cnpg-main-2' )" if ! [[ -n "${base_container}" && -n "${database_container}" ]]; then >&2 printf "Error: Not all containers could be found.\n" @@ -57,7 +59,7 @@ set -e # Enable maintenance mode # Flush queues -docker exec "${base_container}" gitea manager flush-queues +k3s kubectl exec "${base_container}" --namespace "${namespace}" -- gitea manager flush-queues # TODO Pause queues # Database backup @@ -68,7 +70,7 @@ host_database_backupfile="${destination}/${database_backupfile}" # Backup the database >&2 echo 'Backing up database' -docker exec --env-file "${env_file:=.env}" "${database_container}" pg_dump 'gitea' -cwv -h 'localhost' -U 'gitea' > "${host_database_backupfile}" +k3s kubectl exec "${database_container}" --namespace "${namespace}" -- env $(cat "${env_file:=.env}" | xargs) pg_dump 'gitea' -cwv -h 'localhost' -U 'gitea' > "${host_database_backupfile}" # Disable maintenance mode # TODO Continue queues