spb/internetpressure
Public
TypeScript 36.3%
Python 31.8%
Go 18%
JavaScript 9.8%
Shell 1.9%
SQL 1.4%
CSS 0.5%
1#!/usr/bin/env bash2# Shared helpers for deploy scripts. Server = BHS128b (ubuntu@51.161.112.85) since 2026-09-14 (was BHS64b / 10.67.0.613# until then; its stopped stack + volumes are kept as a cold copy). Reached through the laptop's SSH alias.4set -euo pipefail56IP_SERVER="${IP_SERVER:-BHS128b}"7IP_REMOTE_DIR="${IP_REMOTE_DIR:-/opt/internetpressure}"8IP_GATEWAY="${IP_GATEWAY:-BHS64}" # MacLustr Tunnel gateway (Caddy + WireGuard hub)9IP_DOMAIN="${IP_DOMAIN:-www.internetpressure.io}"10IP_WG_IP="${IP_WG_IP:-10.67.0.62}" # wg1 address of IP_SERVER on the BHS64 hub (ipmap)11REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"1213log() { printf '\033[1;36m▸\033[0m %s\n' "$*"; }14ok() { printf '\033[1;32m✔\033[0m %s\n' "$*"; }15warn() { printf '\033[1;33m!\033[0m %s\n' "$*" >&2; }16die() { printf '\033[1;31m✘\033[0m %s\n' "$*" >&2; exit 1; }1718rssh() { ssh -n -o BatchMode=yes -o ConnectTimeout=15 "$IP_SERVER" "$@"; }1920sync_repo() {21 log "rsync repo → $IP_SERVER:$IP_REMOTE_DIR"22 rssh "sudo mkdir -p $IP_REMOTE_DIR && sudo chown \$(id -un):\$(id -gn) $IP_REMOTE_DIR"23 rsync -az --delete \24 --exclude-from="$REPO_ROOT/deploy/rsync-exclude.txt" \25 "$REPO_ROOT/" "$IP_SERVER:$IP_REMOTE_DIR/"26}2728compose() { rssh "cd $IP_REMOTE_DIR && docker compose -f infra/compose.yml --env-file deploy/.env $*"; }29