Skip to content

Collection of various scripts

Homelab Repo Sync Script

This script runs on ansible-main and keeps the local repo in sync with Forgejo. It is triggered by a Systemd Timer every 5 minutes.

#!/bin/bash

REPO_DIR="/home/potterman/git/homelab"
cd "$REPO_DIR" || exit

BRANCH=$(git rev-parse --abbrev-ref HEAD)

git fetch origin "$BRANCH"

LOCAL=$(git rev-parse HEAD)
REMOTE=$(git rev-parse "origin/$BRANCH")

if [ "$LOCAL" != "$REMOTE" ]; then
    echo "Updating repository on branch '$BRANCH': $LOCAL -> $REMOTE"
    git pull origin "$BRANCH"
else
    echo "No changes detected on branch '$BRANCH'. Stayed at $LOCAL"
fi