#!/usr/bin/env bash set -euo pipefail OUTPUT_DIR="$1" SITE_URL="$2" REMOTE_USER="hyperreal" REMOTE_HOST="moonshadow-openbsd.carp-wyvern.ts.net" REMOTE_PATH="/home/hyperreal/staging/html/" WEB_ROOT="/var/www/htdocs/moonshadow.dev" I2P_REMOTE_USER="jas" I2P_REMOTE_HOST="nas.carp-wyvern.ts.net" I2P_WEB_ROOT="/home/jas/i2p/eepsite/docroot" GIT_REPO="/home/jas/repos/tangled.org/hyperreal.bsky.moonshadow.dev/moonshadow.dev" cd "$GIT_REPO" || exit 1 MSG_INFO="$(($(git rev-list --count HEAD) + 1)) $(date '+%Y-%m-%d %H:%M:%S')" git add . git commit -m "$MSG_INFO" git push -u origin main echo "Deploying site from ${OUTPUT_DIR} to ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}" echo "Site URL: ${SITE_URL}" if rsync -avz --delete "$OUTPUT_DIR"/ "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}"; then ssh "${REMOTE_USER}@${REMOTE_HOST}" -- \ doas rsync -a --chown root:daemon --delete "${REMOTE_PATH}"/ "$WEB_ROOT" echo "Deployment successful." else echo "Deployment failed!" exit 1 fi echo "Deploying site from ${OUTPUT_DIR} to ${I2P_REMOTE_USER}@${I2P_REMOTE_HOST}:${I2P_WEB_ROOT}" if rsync -avz --delete "$OUTPUT_DIR"/ "${I2P_REMOTE_USER}@${I2P_REMOTE_HOST}:${I2P_WEB_ROOT}"; then echo "I2P deployment successful." else echo "I2P deployment failed!" exit 1 fi exit 0 # vim: ai et ft=bash sts=4 sw=4 ts=4