Monorepo for Aesthetic.Computer aesthetic.computer
README.md

BTX mining ops scripts #

Operational helpers for the BTX (btxchain) mining setup. See agent memory jas-nzxt-btx-mining for the full architecture (GPU miner on jastow, wallet + full node on jasellite).

No secrets live here. Credentials are read at runtime from separate chmod 600 env files on each box.

Scripts #

  • btx-notify.py — send an email from jasellite via Gmail SMTP. Usage: btx-notify.py "subject" "body". Reads ~/.config/btx-notify.env (SMTP_SERVER, SMTP_USER, SMTP_PASS, NOTIFY_TO). Python stdlib only.

  • btx-sync-watch.py — cron-driven watcher on jasellite (*/10 * * * *). Emails once when the btxd node finishes initial block download (initialblockdownload=false), and once when the miner-rewards wallet first shows a nonzero balance. Uses sentinel files (~/.btx-synced-notified, ~/.btx-paid-notified) so it fires once each.

  • jas-nzxt-disk-guard.sh — legacy-named, one-shot, idempotent disk self-maintenance for the jastow Fedora miner (44G root partition, runs hot on docker + osbuild artifacts). Caps the systemd journal at 500M, installs a weekly docker/package-cache prune timer, and an hourly disk-guard that prunes when / crosses 90%.

  • ac-disk-clean.sh — reusable jastow disk inventory and safe-clean command. It reports by default, requires --apply before deleting known regenerable caches, protects the active ChromiumOS/VM build tree, and can install itself with a weekly systemd timer via --install.

  • btx-miner-guard.sh — pauses btx-miner.service while Will is logged in or native/ChromeOS compilation is active, then resumes after ten quiet minutes. The accompanying systemd timer checks every 30 seconds.

Deploy #

These run on the remote boxes, not in this repo. Copy to the target and run:

scp toolchain/btx/btx-notify.py toolchain/btx/btx-sync-watch.py jas@jasellite:~/
scp toolchain/btx/jas-nzxt-disk-guard.sh me@jastow:/tmp/ && ssh me@jastow bash /tmp/jas-nzxt-disk-guard.sh