webproxy/deploy/git-push.sh
Jeremy Meyer a2bae5c98e feat(deploy): add git push helper script for Gitea
SSH tunnel-based push to self-hosted Gitea instance.
Uses environment variables for credentials, not hardcoded.

Co-Authored-By: UnicornDev <noreply@unicorndev.wtf>
2026-02-26 18:27:28 -08:00

34 lines
979 B
Bash
Executable File

#!/bin/bash
# Push to Gitea through SSH tunnel
# Usage: ./deploy/git-push.sh
#
# Requires:
# - sshpass installed (brew install sshpass)
# - Environment variables: GITEA_USER, GITEA_PASS, GITEA_SSH_PASS
# - Or: ~/.netrc with credentials for 185.191.239.154
set -e
REMOTE_HOST="${GITEA_HOST:-185.191.239.154}"
REMOTE_USER="${GITEA_SSH_USER:-jeremy}"
LOCAL_PORT=13000
REMOTE_PORT=3000
# Check for SSH password
if [ -z "$GITEA_SSH_PASS" ]; then
echo "Set GITEA_SSH_PASS environment variable for SSH tunnel"
echo " export GITEA_SSH_PASS='your-ssh-password'"
exit 1
fi
# Start tunnel
sshpass -p "$GITEA_SSH_PASS" ssh -o StrictHostKeyChecking=no -f -N -L ${LOCAL_PORT}:localhost:${REMOTE_PORT} ${REMOTE_USER}@${REMOTE_HOST} 2>/dev/null
# Push (uses git credential helper or .netrc)
git push origin main
# Kill tunnel
kill $(pgrep -f "ssh.*-L.*${LOCAL_PORT}.*${REMOTE_HOST}") 2>/dev/null
echo "Pushed to Gitea at http://${REMOTE_HOST}:${REMOTE_PORT}/jeremy/webproxy"