# Sysadmin Session Summary ## Date: 2025-11-23 ## Host: git-repro (Gitea LXC) ## Session Type: Configuration and Backup Setup --- ## Session Overview This session focused on completing the Gitea configuration for external access via Pangolin tunnel and establishing automated backup procedures. --- ## Tasks Completed ### 1. Gitea Domain Configuration Fix **Issue:** Gitea login was returning 404 errors when accessed via the Pangolin tunnel domain. **Root Cause:** The Gitea configuration had the internal IP address (100.120.125.113) set for `DOMAIN`, `ROOT_URL`, and `SSH_DOMAIN` instead of the external domain. **Solution Applied:** Updated `/etc/gitea/app.ini` with the following settings in the `[server]` section: ```ini [server] SSH_DOMAIN = git.pdmarf.co.uk DOMAIN = git.pdmarf.co.uk HTTP_PORT = 3000 ROOT_URL = https://git.pdmarf.co.uk/ ``` **Verification:** - Gitea service restarted successfully - Login via https://git.pdmarf.co.uk now works correctly - AppURL correctly shows: https://git.pdmarf.co.uk/ --- ### 2. Pangolin Container Restart **Action:** Restarted the Pangolin docker container to ensure the tunnel proxy was properly forwarding requests to the updated Gitea configuration. **Result:** External access via git.pdmarf.co.uk confirmed working. --- ### 3. Automated Database Backup System **Implementation Details:** **Backup Script:** `/usr/local/bin/gitea-backup.sh` ```bash #!/bin/bash BACKUP_DIR="/var/backups/gitea" DATE=$(date +%Y%m%d-%H%M%S) mkdir -p $BACKUP_DIR # Backup the database cp /var/lib/gitea/data/gitea.db "$BACKUP_DIR/gitea.db-$DATE" # Compress gzip "$BACKUP_DIR/gitea.db-$DATE" # Keep only last 7 days find $BACKUP_DIR -name "*.gz" -mtime +7 -delete echo "Gitea backup completed: $BACKUP_DIR/gitea.db-$DATE.gz" ``` **Cron Schedule:** ``` 0 2 * * * /usr/local/bin/gitea-backup.sh ``` - Runs daily at 2:00 AM - 7-day retention policy - Backups stored in `/var/backups/gitea/` **Backup Location:** `/var/backups/gitea/` --- ### 4. Backup/Restore Testing **Test Performed:** Verified backup and restore process works correctly. **Verification Steps:** 1. Manual backup execution confirmed working 2. Backup file created with timestamp: `gitea.db-20251123-174012.gz` 3. Compression working (original database compressed to ~33KB) 4. Restore procedure documented and tested --- ## Current System State ### Gitea Service - **Status:** Active (running) - **Service:** `gitea.service` - **Start Time:** 2025-11-23 17:43:18 UTC - **Memory Usage:** ~112MB - **Config File:** `/etc/gitea/app.ini` ### Gitea Configuration Summary | Setting | Value | |---------|-------| | App Name | Homelab Git | | Domain | git.pdmarf.co.uk | | ROOT_URL | https://git.pdmarf.co.uk/ | | SSH_DOMAIN | git.pdmarf.co.uk | | HTTP_PORT | 3000 | | Database | SQLite3 | | DB Path | /var/lib/gitea/data/gitea.db | | Repository Root | /home/git/gitea-repositories | | LFS Enabled | Yes | | Mail Server | smtp.fastmail.com:465 | ### Active Repositories 1. `pdm/homelab-agents.git` - Centralized AI agent prompts 2. `pdm/vps-system-apps.git` - System apps VPS configuration 3. `pdm/test.git` - Test repository ### Backup System | Component | Status | |-----------|--------| | Backup Script | /usr/local/bin/gitea-backup.sh | | Backup Directory | /var/backups/gitea/ | | Cron Schedule | Daily at 2 AM | | Retention | 7 days | | Latest Backup | gitea.db-20251123-174012.gz | --- ## Files Modified This Session 1. `/etc/gitea/app.ini` - Updated DOMAIN, ROOT_URL, SSH_DOMAIN 2. `/usr/local/bin/gitea-backup.sh` - Created backup script 3. `/var/spool/cron/crontabs/root` - Added backup cron job --- ## Recommendations for Future Sessions 1. **Off-site Backup:** Consider syncing backups to remote storage (S3, rsync to another server) 2. **Repository Backup:** The current backup only covers the database; consider backing up `/home/git/gitea-repositories/` as well 3. **Monitoring:** Set up alerting for backup failures 4. **Full Backup Script:** Create a comprehensive backup that includes: - Database (`/var/lib/gitea/data/gitea.db`) - Repositories (`/home/git/gitea-repositories/`) - Configuration (`/etc/gitea/app.ini`) - Custom files (`/var/lib/gitea/custom/`) --- ## Session Timeline - Session Start: 2025-11-23 (afternoon UTC) - Session End: 2025-11-23 17:48 UTC --- *This session summary was generated by Claude Code following the sysadmin-session-closer process.*