My website
1#!/usr/bin/env bash
2
3set -euo pipefail
4
5OUTPUT_DIR="$1"
6SITE_URL="$2"
7REMOTE_USER="hyperreal"
8REMOTE_HOST="moonshadow-openbsd.carp-wyvern.ts.net"
9REMOTE_PATH="/home/hyperreal/staging/html/"
10WEB_ROOT="/var/www/htdocs/moonshadow.dev"
11I2P_REMOTE_USER="jas"
12I2P_REMOTE_HOST="nas.carp-wyvern.ts.net"
13I2P_WEB_ROOT="/home/jas/i2p/eepsite/docroot"
14GIT_REPO="/home/jas/repos/tangled.org/hyperreal.bsky.moonshadow.dev/moonshadow.dev"
15
16cd "$GIT_REPO" || exit 1
17MSG_INFO="$(($(git rev-list --count HEAD) + 1)) $(date '+%Y-%m-%d %H:%M:%S')"
18git add .
19git commit -m "$MSG_INFO"
20git push -u origin main
21
22echo "Deploying site from ${OUTPUT_DIR} to ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}"
23echo "Site URL: ${SITE_URL}"
24
25if rsync -avz --delete "$OUTPUT_DIR"/ "${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}"; then
26 ssh "${REMOTE_USER}@${REMOTE_HOST}" -- \
27 doas rsync -a --chown root:daemon --delete "${REMOTE_PATH}"/ "$WEB_ROOT"
28 echo "Deployment successful."
29else
30 echo "Deployment failed!"
31 exit 1
32fi
33
34echo "Deploying site from ${OUTPUT_DIR} to ${I2P_REMOTE_USER}@${I2P_REMOTE_HOST}:${I2P_WEB_ROOT}"
35
36if rsync -avz --delete "$OUTPUT_DIR"/ "${I2P_REMOTE_USER}@${I2P_REMOTE_HOST}:${I2P_WEB_ROOT}"; then
37 echo "I2P deployment successful."
38else
39 echo "I2P deployment failed!"
40 exit 1
41fi
42
43exit 0
44# vim: ai et ft=bash sts=4 sw=4 ts=4