#!/bin/bash

FORGEJO_MYSQL_CONTAINER="forgejo-db"
BACKUP_DIRECTORY="$HOME/backups/forgejo/"
RCHAT_NOTIFIER="$HOME/self-host/scripts/rocketchat_notifier.sh"
source "$HOME/.env"

echo "INFO Creating compressed backup of ${FORGEJO_MYSQL_CONTAINER}"

rm $HOME/backups/forgejo/*

sleep 1

docker exec $FORGEJO_MYSQL_CONTAINER \
	mysqldump --all-databases -u root -p$FORGEJO_MYSQL_ROOT_PASSWORD | gzip >"${BACKUP_DIRECTORY}$(date +%Y%m%d)".sql.gz

STATUS=$?
if [ $STATUS -eq 0 ]; then
	$RCHAT_NOTIFIER "backups" "success" \
		"Created backup of ${FORGEJO_MYSQL_CONTAINER} on VPS."
else
	$RCHAT_NOTIFIER "backups" "error" \
		"Failed to create backup of ${FORGEJO_MYSQL_CONTAINER}: exit code $STATUS."
fi