SPB Git
1.2 KB · 28 lines shellscript
1#!/usr/bin/env bash2# Shared helpers for deploy scripts. Server = BHS64b (ubuntu@51.161.112.66), reached through the laptop's SSH alias.3set -euo pipefail45IP_SERVER="${IP_SERVER:-BHS64b}"6IP_REMOTE_DIR="${IP_REMOTE_DIR:-/opt/internetpressure}"7IP_GATEWAY="${IP_GATEWAY:-BHS64}"            # MacLustr Tunnel gateway (Caddy + WireGuard hub)8IP_DOMAIN="${IP_DOMAIN:-www.internetpressure.io}"9IP_WG_IP="${IP_WG_IP:-10.67.0.61}"10REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"1112log()  { printf '\033[1;36m▸\033[0m %s\n' "$*"; }13ok()   { printf '\033[1;32m✔\033[0m %s\n' "$*"; }14warn() { printf '\033[1;33m!\033[0m %s\n' "$*" >&2; }15die()  { printf '\033[1;31m✘\033[0m %s\n' "$*" >&2; exit 1; }1617rssh() { ssh -n -o BatchMode=yes -o ConnectTimeout=15 "$IP_SERVER" "$@"; }1819sync_repo() {20  log "rsync repo → $IP_SERVER:$IP_REMOTE_DIR"21  rssh "sudo mkdir -p $IP_REMOTE_DIR && sudo chown \$(id -un):\$(id -gn) $IP_REMOTE_DIR"22  rsync -az --delete \23    --exclude-from="$REPO_ROOT/deploy/rsync-exclude.txt" \24    "$REPO_ROOT/" "$IP_SERVER:$IP_REMOTE_DIR/"25}2627compose() { rssh "cd $IP_REMOTE_DIR && docker compose -f infra/compose.yml --env-file deploy/.env $*"; }28
Files · b2ec043708ab6639d189cb24df7b56dde512ffdb
Menu

Theme