@page @model PlanTempusAdmin.Pages.Setup.ScriptsModel @{ ViewData["Title"] = "Backup Scripts"; }
forgejo-backup.sh
@Model.BashScript
Environment Konfiguration (.env)
# Forgejo Repository Backup Configuration

# Sti til Forgejo repositories
FORGEJO_REPO_PATH=/var/lib/forgejo/data/forgejo-repositories

# Midlertidig mappe til backup filer
BACKUP_TEMP_DIR=/tmp/forgejo-backups

# PostgreSQL database konfiguration
BACKUP_DB_HOST=192.168.1.43
BACKUP_DB_PORT=5432
BACKUP_DB_NAME=ptadmin
BACKUP_DB_USER=plantempus_app
BACKUP_DB_PASSWORD=your_secure_password_here

# Azure Blob Storage konfiguration
AZURE_STORAGE_ACCOUNT=storageptadmin
AZURE_STORAGE_KEY=your_storage_key_here
AZURE_STORAGE_CONTAINER=backups
AZURE_STORAGE_PATH=forgejo

# Antal dage backup gemmes
BACKUP_RETENTION_DAYS=30
Cron Job Setup

Tilføj følgende linje til crontab (sudo crontab -e):

# Kører backup hver dag kl. 02:00
0 2 * * * /opt/backup/forgejo-backup.sh >> /var/log/forgejo-backup.log 2>&1
Azure CLI Setup

Installer Azure CLI på serveren:

# Installer Azure CLI (Ubuntu/Debian)
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# Verificer installation
az --version

# Test forbindelse til storage account
az storage container list \
    --account-name storageptadmin \
    --account-key "YOUR_KEY_HERE" \
    --output table

# Test upload
echo "test" > /tmp/test.txt
az storage blob upload \
    --account-name storageptadmin \
    --account-key "YOUR_KEY_HERE" \
    --container-name backups \
    --file /tmp/test.txt \
    --name test/test.txt
@section Scripts { }