Add Template to deploy forgejo.
This template allows deploying a forgejo en either Scaleway or Hetzner (untested) without much knowledge about them. It DOES require knowledge about Terragrunt and ansible. A wizard of sorts is provided but it will not guarantee success without some knowledge about the underlying technology.
This commit is contained in:
parent
a9f546f92a
commit
822e42dbb8
48 changed files with 6846 additions and 2 deletions
33
ansible/roles/forgejo/templates/forgejo_backup.sh.j2
Normal file
33
ansible/roles/forgejo/templates/forgejo_backup.sh.j2
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
# Forgejo Backup Script
|
||||
# Generated by Ansible
|
||||
|
||||
set -e
|
||||
|
||||
BACKUP_DIR="{{ forgejo_backup_path }}"
|
||||
TIMESTAMP=$(date +%Y%m%dT%H%M%S)
|
||||
LOG_FILE="/var/log/forgejo-backup.log"
|
||||
|
||||
echo "[$(date)] Starting Forgejo backup..." | tee -a "$LOG_FILE"
|
||||
|
||||
# Create database backup
|
||||
pg_dump -U {{ forgejo_db_user }} {{ forgejo_db_name }} | gzip > "$BACKUP_DIR/database-$TIMESTAMP.sql.gz"
|
||||
echo "[$(date)] Database backed up" | tee -a "$LOG_FILE"
|
||||
|
||||
# Backup repositories
|
||||
tar -czf "$BACKUP_DIR/repositories-$TIMESTAMP.tar.gz" -C {{ forgejo_data_path }} git
|
||||
echo "[$(date)] Repositories backed up" | tee -a "$LOG_FILE"
|
||||
|
||||
# Backup configuration
|
||||
tar -czf "$BACKUP_DIR/config-$TIMESTAMP.tar.gz" {{ forgejo_config_path }} {{ forgejo_base_path }}/docker-compose.yml
|
||||
echo "[$(date)] Configuration backed up" | tee -a "$LOG_FILE"
|
||||
|
||||
# Backup data
|
||||
tar -czf "$BACKUP_DIR/data-$TIMESTAMP.tar.gz" -C {{ forgejo_data_path }} attachments lfs avatars
|
||||
echo "[$(date)] Data backed up" | tee -a "$LOG_FILE"
|
||||
|
||||
# Clean old backups
|
||||
find "$BACKUP_DIR" -type f -name "*.gz" -mtime +{{ forgejo_backup_retention_days }} -delete
|
||||
echo "[$(date)] Old backups cleaned" | tee -a "$LOG_FILE"
|
||||
|
||||
echo "[$(date)] Backup completed successfully" | tee -a "$LOG_FILE"
|
||||
Loading…
Add table
Add a link
Reference in a new issue