scripts/archive-relay.mjs snapshots the app's own content off goskatespots.nostr1.com to gzipped JSONL of the raw signed events, so a restore can republish them verbatim to any relay. scripts/restore-relay.mjs re-verifies signatures and publishes to an explicit --to (no default, to avoid replaying a snapshot onto the live relay). scripts/backup-relay.sh wraps it and pushes with restic when a repo is configured; a weekly systemd user timer runs it. Scoped on purpose: that relay is PUBLIC and carries general traffic (15.7k kind-0 profiles, 2k kind-30078 app-data from other clients, 408 foreign NIP-99 listings), so the archive keeps only the app's own kinds/tags plus contributor profiles, SkateSpots labels, and reports that reference archived content. ~114 events / 63 KiB. Not configured yet: offsite (restic.env) and a full restore drill.
16 lines
472 B
Bash
Executable file
16 lines
472 B
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# Install the weekly relay-archive systemd user timer.
|
|
# scripts/install-archive-timer.sh
|
|
set -euo pipefail
|
|
|
|
SRC="$(cd "$(dirname "$0")/systemd" && pwd)"
|
|
DEST="$HOME/.config/systemd/user"
|
|
mkdir -p "$DEST"
|
|
|
|
cp "$SRC/skatespots-archive.service" "$DEST/"
|
|
cp "$SRC/skatespots-archive.timer" "$DEST/"
|
|
|
|
systemctl --user daemon-reload
|
|
systemctl --user enable --now skatespots-archive.timer
|
|
systemctl --user list-timers skatespots-archive.timer --no-pager
|