#!/bin/bash set -e source ./.env TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S") echo "(${TIMESTAMP}) Starting backup process" echo "1. Stopping containers" docker compose -f ${FORGEJO_DIR}/docker-compose.yml down echo "2. Backing up configuration and forgejo folder" tar -czvf ${BACKUP_DIR}/forgejo-${TIMESTAMP}.tar.gz -C ${FORGEJO_DIR} forgejo docker-compose.yml echo "3. Backing up Postgres database" DB_CONTAINER=$(docker ps -aqf "name=forgejo-db-1") docker exec -i ${DB_CONTAINER} pg_dump -U forgejo forgejo > ${BACKUP_DIR}/forgejo-${TIMESTAMP}.sql echo "4. Removing old backups" find ${BACKUP_DIR} -mtime +7 -exec rm -rf {} \; echo "5. Upload to remote" ./duplicacy.sh echo "6. Restarting containers" docker compose -f ${FORGEJO_DIR}/docker-compose.yml up -d echo "Backup completed!"